Использование PyCharm-needs.txt в виртуальной среде - выдает ошибку - «pip» не имеет атрибута «main» - PullRequest
0 голосов
/ 28 июня 2018

Я работаю в Windows7. и установить Pycharm вместе с Anaconda Spyder. Я очень долго работал в Anaconda Spyder, но теперь я хочу использовать Pycharm, так как создавать проекты лучше и проще.

, поэтому я создал новую виртуальную среду и начал новый проект. Теперь, когда я пытаюсь указать, что мой пакет устанавливается через require.txt, я получаю эту ошибку.

Traceback (most recent call last):
File "C:\Program Files\JetBrains\PyCharm Community Edition 
2017.2.4\helpers\packaging_tool.py", line 192, in main
retcode = do_install(pkgs)
File "C:\Program Files\JetBrains\PyCharm Community Edition 
2017.2.4\helpers\packaging_tool.py", line 109, in do_install
return pip.main(['install'] + pkgs)
AttributeError: module 'pip' has no attribute 'main'

Мне нужна помощь в исправлении этого. Ничто в Интернете не работает, и я не знаю, где проблема. Я использую пип версию 10. Должен ли я удалить мой питон анаконды. Возможно ли, что это мешает Pycharm? Спасибо

1 Ответ

0 голосов
/ 28 июня 2018

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

В любом случае, любой графический менеджер пакетов, построенный на вызове pip.main, как это делал PyCharm, ломается с 10.0. IIRC, PyCharm изменил свой код, чтобы справиться с этим до того, как 10.0 даже заработал. Однако вы используете старую версию PyCharm, в которой эти изменения отсутствуют.


Очевидное решение - обновить PyCharm.

Если у вас нет причин использовать старую версию, просто получите самую последнюю версию (на сегодня 2018.1.4) с помощью автообновления или загрузив ее с главная страница загрузки .

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


Другой вариант - понизить pip до версии до 10.0.

Вы можете указать версию как <10. Если вы хотите указать одно явно, я думаю, что 9.0.3 должна быть последней в истории версией 9.x, но для безопасности проверьте историю версий .

Я не знаю, может ли понижение pip с pip на предположительно работать, но на самом деле, похоже, оно работало, когда я попробовал его в тестовой среде:

python3 -m pip install --force-reinstall 'pip<10'

Если нет, вы можете удалить его и установить заново:

python -m pip uninstall pip
python -m ensurepip
python -m pip install -U 'pip<10'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...