Я не могу установить whl файлы оптом, используя код python 3.7 - PullRequest
0 голосов
/ 22 февраля 2020

У меня есть windows 10 x64 p c, и я хочу установить некоторые библиотеки в виртуальной среде. Я использую PyCharm Professional 2019.3.3, Python 3.7.6 x64 и PIP 19.0.3, я попробовал этот подход

from pip._internal import main as pipmain
path = 'D:\Python\Libraries\\'
pipmain(['install', path+'setuptools-45.2.0-py3-none-any.whl'])

Он работает нормально для одной установки, но в пакетной установке не работает, я пытался таким образом

from pip._internal import main as pipmain
path = 'D:\Python\Libraries\\'
pipmain(['install', path+'setuptools-45.2.0-py3-none-any.whl'])
pipmain(['install', path+'numpy-1.18.1-cp37-cp37m-win_amd64.whl'])
pipmain(['install', path+'opencv_python-4.2.0.32-cp37-cp37m-win_amd64.whl'])
pipmain(['install', path+'scipy-1.4.1-cp37-cp37m-win_amd64.whl'])

Показывает эту ошибку

Could not install packages due to an EnvironmentError: [Errno 2] No such file or directory: 'C:\\Users\\Username\\AppData\\Local\\Temp\\pip-req-tracker

Первый установлен правильно без каких-либо ошибок, но остальные отображаются выше ошибки

1 Ответ

0 голосов
/ 22 февраля 2020

Этот вид использования явно не рекомендуется и задокументирован, поскольку он может потерпеть неудачу!

См. Раздел документации pip" Использование pip из вашей программы":

Как отмечалось ранее, pip - это программа командной строки. Хотя он реализован в Python и доступен из вашего кода Python через import pip, вы не должны использовать внутренние API pip таким образом. Для этого есть ряд причин:

[...]

pip предполагает, что, как только он завершит свою работу, процесс завершится. Ему не нужно обрабатывать вероятность того, что другой код продолжит работать после этой точки, поэтому (например) вызов pip дважды в одном и том же процессе может вызвать проблемы.

Поэтому неудивительно, что этот фрагмент кода работает не так, как можно было ожидать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...