Рейтинг:4

ModuleNotFoundError: нет модуля с именем «pip._vendor.six»

флаг cn

Я новичок в Ubuntu (20.04.2.0 LTS) и пытаюсь заставить Python3.9.6 и Pip работать с Virtualenv.

Я надеюсь, что некоторые из вас, опытные пользователи Ubuntu, смогут мне помочь :)

У меня нет проблем с использованием Python по умолчанию (3.8.10):

$ python3 -V Python 3.8.10

$ где питон3 
/usr/bin/python3.8

$ пип3 -V 
pip 21.1.3 из /usr/local/lib/python3.8/dist-packages/pip (python 3.8)

$ виртуальный env_python3.8 
создал виртуальную среду CPython3.8.10.final.0-64 за 155 мс

$ источник env_python3.8/bin/активировать

(env_python3.8) usagi@dev:~$ список пунктов 
Версия пакета
пункт 20.0.2 pkg-ресурсы 0.0.0
setuptools 44.0.0 колесо 0.34.2

(env_python3.8) usagi@dev:~$ pip установить django 
Успешно установлено asgiref-3.4.1 django-3.2.5 pytz-2021.1 sqlparse-0.4.1

(env_python3.8) usagi@dev:~$ список пунктов 
Версия пакета
asgiref 3.4.1
Джанго 3.2.5
пункт 20.0.2 pkg-ресурсы 0.0.0
pytz 2021.1 setuptools 44.0.0 sqlparse 0.4.1
колесо 0.34.2

Эти шаги работают без проблем, но если я сделаю те же шаги для Python3.9.6 (из исходников), это не сработает:

$ python3.9 -V 
Питон 3.9.6

$ где питон3 
/USR/локальные/бин/python3.9

Думаю, это одна из проблем, pip3 смотрит на Python3.8
$ пип3 -V 
pip 21.1.3 из /usr/local/lib/python3.8/dist-packages/pip (python 3.8)

$ virtualenv -p /usr/local/bin/python3.9 env_python3.9 
создал виртуальную среду CPython3.9.6.final.0-64 за 113 мс

$ источник env_python3.9/bin/активировать

(env_python3.9) usagi@dev:~$ python -V 
Питон 3.9.6

(env_python3.9) usagi@dev:~$ pip -V 
Трассировка (последний последний вызов): Файл "/home/usagi
/env_python3.9/bin/pip", строка 5, из pip._internal.cli.main import main File "/home
/usagi/env_python3.9/lib/python3.9/site-packages/pip/_internal/cli/main.py", строка 10, в 
из pip._internal.cli.autocompletion импортировать файл автозаполнения "/home/usagi/env_python3.9
/lib/python3.9/site-packages/pip/_internal/cli/autocompletion.py", строка 9, из 
pip._internal.cli.main_parser импортировать файл create_main_parser "/home/usagi/env_python3.9
/lib/python3.9/site-packages/pip/_internal/cli/main_parser.py", строка 7, из 
pip._internal.cli файл импорта cmdoptions "/home/usagi/env_python3.9/lib/python3.9/site-
packages/pip/_internal/cli/cmdoptions.py», строка 24, из pip._internal.exceptions 
импортировать файл CommandError "/home/usagi/env_python3.9/lib/python3.9/site-packages
/pip/_internal/exceptions.py", строка 10, из pip._vendor.six импортировать итеритемы 
ModuleNotFoundError: нет модуля с именем «pip._vendor.six»

Пытался найти информацию об ошибке, но не смог найти решение.

Если у кого-то из вас была такая же проблема или вы узнали проблему и хотели бы помочь мне, я благодарен за всю помощь, которую я могу получить.

С уважением, /Микаэль

ajgringo619 avatar
флаг de
Что возвращает `python3.9 -m pip --version`?
Usagi-Dev avatar
флаг cn
Здравствуйте @ajgringo619, Спасибо за ответ! Команда возвращает: $ python3.9 -m pip --версия /usr/local/bin/python3.9: нет модуля с именем pip. Там у нас, вероятно, проблема. Следующий вопрос: как мне установить pip в /usr/local/bin/python3.9.
ajgringo619 avatar
флаг de
Как вы установили python3.9?
Usagi-Dev avatar
флаг cn
И снова здравствуйте! Я установил Python3.9.6 из исходников.
Usagi-Dev avatar
флаг cn
Пытался установить его с помощью sudo apt install Python 3.9, и он работал с virtualenv и pip. Проблема в том, что я не могу точно выбрать, какую версию Python установить.
ajgringo619 avatar
флаг de
Если вы решите использовать скомпилированную версию, просто перестройте ее, добавив `--with-ensurepip=install` в вашу команду `configure`. Я бы не стал держать обе версии.
Usagi-Dev avatar
флаг cn
Я переустанавливаю свой компьютер с Ubuntu. Установил Python с --with-ensurepip = install. Создал виртуальную среду с Virtualenv.Все работает нормально, пока я не использую Pip и снова не получаю то же сообщение об ошибке: `ModuleNotFoundError: No module named 'pip._vendor.six'`. У вас есть другая идея, что может быть причиной этого?
Рейтинг:-1
флаг de

Я не могу сказать вам, почему ваша скомпилированная версия не работает. Используя репозиторий Ubuntu, вы можете получить то, что хотите, и будете обновлены с остальной частью системы:

sudo apt установить python3.9 python3.9-venv

это даст тебе пункт 3.9 и возможность создать виртуальную среду, примерно так:

python3.9 -m venv $HOME/.venv/python3.9
Usagi-Dev avatar
флаг cn
Спасибо, что нашли время, чтобы помочь мне! Теперь все работает нормально :)

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.