Python PIP выдает ошибку - ImportError: невозможно импортировать имя main - PullRequest
0 голосов
/ 10 февраля 2019

Я очень плохо знаком с python / pip, и на данный момент я просто пытаюсь что-то настроить, чтобы установить свою среду, чтобы я мог начать тестировать язык.

У меня правильно установлен PIP,но пытался найти что-то, что могло бы помочь мне интегрировать переводчик в Jetbrains PyCharm.Я нашел что-то под названием PIPEnv (https://pypi.org/project/pipenv/) и установил его, но теперь, похоже, он сломал PIP

example@my-computer:~/hooks$ pip install pipenv
Collecting pipenv
Downloading https://files.pythonhosted.org/packages/bb/15/b155a5c0d19ce41609f50bb70a37e0de092b453ec4bd2eac59e53a2c3227/pipenv-2018.11.26-py2-none-any.whl (5.2MB)
100% |████████████████████████████████| 5.2MB 310kB/s 
Collecting enum34; python_version < "3" (from pipenv)
Downloading https://files.pythonhosted.org/packages/c5/db/e56e6b4bbac7c4a06de1c50de6fe1ef3810018ae11732a50f15f62c7d050/enum34-1.1.6-py2-none-any.whl
Collecting virtualenv (from pipenv)
Downloading https://files.pythonhosted.org/packages/7e/1b/6c00d57127608793e16e8b7f813e64d58a1938505c42fe190d1386ab41e1/virtualenv-16.4.0-py2.py3-none-any.whl (2.0MB)
100% |████████████████████████████████| 2.0MB 821kB/s 
Collecting typing; python_version < "3.5" (from pipenv)
Downloading https://files.pythonhosted.org/packages/cc/3e/29f92b7aeda5b078c86d14f550bf85cff809042e3429ace7af6193c3bc9f/typing-3.6.6-py2-none-any.whl
Collecting certifi (from pipenv)
Downloading https://files.pythonhosted.org/packages/9f/e0/accfc1b56b57e9750eba272e24c4dddeac86852c2bebd1236674d7887e8a/certifi-2018.11.29-py2.py3-none-any.whl (154kB)
100% |████████████████████████████████| 163kB 8.6MB/s 
Collecting virtualenv-clone>=0.2.5 (from pipenv)
Downloading https://files.pythonhosted.org/packages/e3/d9/d9c56deb483c4d3289a00b12046e41428be64e8236fa210111a1f57cc42d/virtualenv_clone-0.5.1-py2.py3-none-any.whl
Collecting pip>=9.0.1 (from pipenv)
Downloading https://files.pythonhosted.org/packages/d7/41/34dd96bd33958e52cb4da2f1bf0818e396514fd4f4725a79199564cd0c20/pip-19.0.2-py2.py3-none-any.whl (1.4MB)
100% |████████████████████████████████| 1.4MB 1.2MB/s 
Collecting setuptools>=36.2.1 (from pipenv)
Downloading https://files.pythonhosted.org/packages/d1/6a/4b2fcefd2ea0868810e92d519dacac1ddc64a2e53ba9e3422c3b62b378a6/setuptools-40.8.0-py2.py3-none-any.whl (575kB)
100% |████████████████████████████████| 583kB 2.7MB/s 
Installing collected packages: enum34, virtualenv, typing, certifi, virtualenv-clone, pip, setuptools, pipenv
Successfully installed certifi-2018.11.29 enum34-1.1.6 pip-19.0.2 pipenv-2018.11.26 setuptools-40.8.0 typing-3.6.6 virtualenv-16.4.0 virtualenv-clone-0.5.1
example@my-computer:~/hooks$ pip list
Traceback (most recent call last):
File "/usr/bin/pip", line 9, in <module>
from pip import main
ImportError: cannot import name main

Любая помощь будет великолепной.

Ответы [ 3 ]

0 голосов
/ 10 февраля 2019

Мы не используем PIPEnv, но обнаружили, что последний выпуск pip вызывает ошибки импорта в некоторых местах в наших системах сборки.Так как код не изменился со времени последней успешной сборки, я сильно подозреваю, что эта версия pip (19.0.2) каким-то образом сломана / несовместима.Для нас решение будет вернуться к 19.0.1, который некоторое время работал нормально.Мы будем делать это внутри virtualenv, а не на системном уровне.

0 голосов
/ 28 февраля 2019

Я нашел в этом посте ( AttributeError: Module Pip не имеет атрибута 'main' ) патч для миграции на самые последние версии pup для этой проблемы импорта в некоторых версиях pip.Создание кода для поддержки, но более новых и старых версий, обходной путь для импорта основного модуля pip выглядит следующим образом:

if hasattr(pip,'main'): pipm=pip.main else: from pip import _internal pipm=pip._internal.main

0 голосов
/ 10 февраля 2019

Вы можете попробовать удалить pip и pip env.

Затем переустановите pip и попробуйте снова установить pipenv.Если в этот раз это не сработает, вам нужно использовать pip и virtualenv вместо pip env.

Удалите их оба, и на этот раз установите pip и virtualenv
Вы можете настроить pycharm для работы сvirtualenv.
В любом случае, эти команды работали для меня
Для удаления

python3 -m pip3 uninstall pip3



sudo -H pip3 install --upgrade pip
sudo -H pip3 install pipenv

Теперь попробуйте выполнить 'pipenv'
Если он все еще не работает, попробуйте обновить ваш python3.
Если вы все еще используете python2.7, замените pip3 на pip

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