Bug 1460402 - Create a new class to manage pip install r=ahal

MozReview-Commit-ID: JnscCmC4gBt

--HG--
extra : rebase_source : ffd9c67d50d1ad8a9d81df3eb48ddac0ee614b6f
This commit is contained in:
Sylvestre Ledru 2018-05-10 19:05:30 +02:00
Родитель 0494761fc9
Коммит 9773d1f2f1
2 изменённых файлов: 34 добавлений и 0 удалений

Просмотреть файл

Просмотреть файл

@ -0,0 +1,34 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
from __future__ import print_function
from __future__ import absolute_import
import subprocess
def _run_pip(*args):
"""
Helper function that runs pip with subprocess
"""
try:
subprocess.check_output(['pip'] + list(args),
stderr=subprocess.STDOUT)
return True
except subprocess.CalledProcessError as e:
print(e.output)
return False
def reinstall_program(REQ_PATH):
"""
Try to install flake8 at the target version, returns True on success
otherwise prints the otuput of the pip command and returns False
"""
if _run_pip('install', '-U',
'--require-hashes', '-r',
REQ_PATH):
return True
return False