Начиная с pip версии 10.X, появляется ошибка при вызове функции pip.main()
:
AttributeError: Module Pip has no attribute 'main'
Функция main()
переехала в модуль _internal
(pip._internal
), поэтому можно откатить pip до версии 9.X, например так:
pip install --upgrade pip==9.0.3
Или импортировать main()
из _internal
:
from pip._internal import main
Если у вас на разных машинах (напр, на локальной и боевой, как было в моём случае) стоит pip разных версий, то можно воспользоваться отлавливанием исключения ImportError
:
try:
from pip._internal import main
except ImportError:
from pip import main
PROJECT_ROOT = abspath(dirname(__file__))
main(['install', '-r', join(PROJECT_ROOT, 'requirements.txt')]) # для примера запустим...