Испорченная среда pip и неспособность импортировать модули python - PullRequest
1 голос
/ 28 мая 2019

Мои версии и пути, связанные с Python, следующие:

pip -V

output

pip 19.1.1 from /home/USER_NAME/.local/lib/python3.6/site-packages/pip (python 3.6)
which pip

output

/home/USER_NAME/.local/bin/pip
python -V

output

Python 3.6.7
which python

output

/home/USER_NAME/bin/python

Проблема в том, что я использовал несколько методов для обновления pip, и все испортилось.Так что теперь я могу использовать модули Python, даже если они установлены с помощью pip.Пример

pip install requests 

говорит

Requirement already satisfied: requests in /usr/lib/python3/dist-packages (2.18.4)

, но когда я импортирую запросы в коде Python, я получаю это

Python 3.6.7 (default, Oct 22 2018, 11:32:17) 
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import requests
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'requests

Причина в том, что пип-ссылки на .localкаталог, как решить эту проблему, я попытался удалить PIP и переустановить, но не помогло.Помощь приветствуется

1 Ответ

1 голос
/ 12 июня 2019

Несмотря на то, что Python показывает /home/USER_NAME/bin/python, потому что он символически связан с Python глобальной области видимости, который находится в /usr/bin/ Но пункт установлен в локальной области пользователя (/home/$USER/.local/bin/).Поэтому, когда вы запускаете

pip install requests, он проверяет /home/$USER/.local, поэтому требование удовлетворяется.

Решение состоит в том, что и pip, и python должны находиться в одной и той же области (как в глобальном, так и в пользовательском).

Вы можете удалить свой локальный pip (pip uninstall pip) и использовать глобальный pip иPython глобальной области действия

ИЛИ

Вы можете использовать символическую ссылку /home/$USER/bin/python на локальную область действия пользователя Python (ln -s /home/$USER/.local/bin/python3 /home/$user/bin/python) после удаления текущей символической ссылки в $HOME/bin/python

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