Я впервые устанавливаю pip в свой Ubuntu 18.04 LTS, который я только что установил на несколько дней. После использования команды «curl» для загрузки файла «get-pip.py» и выполнения команды «python3 get-pip.py» я получил сообщение об ошибке. Сообщение об ошибке следующее.
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3 get-pip.py
Сообщение об ошибке:
Traceback (most recent call last):
File "get-pip.py", line 20649, in <module>
main()
File "get-pip.py", line 197, in main
bootstrap(tmpdir=tmpdir)
File "get-pip.py", line 82, in bootstrap
import pip._internal
File "/tmp/tmpaa4p6j0e/pip.zip/pip/_internal/__init__.py", line 42, in <module>
File "/tmp/tmpaa4p6j0e/pip.zip/pip/_internal/cmdoptions.py", line 16, in <module>
File "/tmp/tmpaa4p6j0e/pip.zip/pip/_internal/index.py", line 25, in <module>
File "/tmp/tmpaa4p6j0e/pip.zip/pip/_internal/download.py", line 35, in <module>
File "/tmp/tmpaa4p6j0e/pip.zip/pip/_internal/locations.py", line 10, in <module>
ImportError: cannot import name 'sysconfig'
sysconfig
- стандартный библиотечный модуль. Если вы запустите python3 -c "import sysconfig"
, это сработает или выдает ту же ошибку импорта? Если вы получаете сообщение об ошибке импорта, значит, ваша установка Python каким-то образом не работает. Если импорт из Python делает работу, то мы должны будем копать дальше , чтобы понять , почему get-pip.py
не удается найти стандартную библиотеку на вашей машине.
Строка с ошибкой - вот эта .
Итак, чтобы получить ошибку, мы запускаем:
python3 -c "from distutils import sysconfig as distutils_sysconfig"
Похоже, ваша установка python3 не работает, поскольку distutils является частью stdlib и должен присутствовать. Интересно, делает ли Ubuntu что-то странное, например, не устанавливает всю stdlib по умолчанию? Я бы не стал их забывать. Возможно, стоит проверить ...
Похоже, что python3-distutils
не установлен.
sudo apt install python3-distutils
исправить эту проблему.
Ура Ubuntu :-(
Можете ли вы закрыть эту проблему в таком случае?
@Tarliton Это работает! Большое спасибо!
@pfmoore Я решил свою проблему! Большое спасибо!
У меня такая же проблема со свежим 18.04. Я могу import sysconfig
без ошибок - вы по-прежнему рекомендуете установить python3-distutils
?
@ryanfox , вы используете pip3
или pip
(2.7)? python3-distutils
- это pip3
. Мне также потребовались python3-setuptools
для фактической установки библиотеки Python.
18.04 не имеет установленной версии 2.7.
@ryanfox В той же ситуации я могу импортировать sysconfig, но я должен установить python3-distutils
чтобы использовать pip3
.
@ryanfox, когда вы apt-get install pip
, будет установлен python2.7, а pip будет основан на python 2.7. Да, когда вы устанавливаете pip3
, он будет основан на python3.
Я установил pip через get-pip.py:
$ python3.6 get-pip.py
Конечно, это не устанавливает 2.7.
@ryanfox еще - вы удостоверились, что присутствует полный stdlib python?
Установлены Python3.6
и Python3.6-dev
. Я могу успешно import sysconfig
. Означает ли это наличие полной библиотеки stdlib? Я так и думал.
Как бы то ни было, я установил python3-distutils
и теперь он у меня работает. Я просто подумал, что это странно, учитывая, что я _ думал_, что у меня есть полная установка python.
Спасибо, @Tarliton , ваше решение сработало.
Похоже, что
python3-distutils
не установлен.sudo apt install python3-distutils
исправить эту проблему.
на окнах?
Этот поток был автоматически заблокирован, поскольку после его закрытия в последнее время не было никаких действий. Пожалуйста, откройте новую проблему для связанных ошибок.
Самый полезный комментарий
Похоже, что
python3-distutils
не установлен.исправить эту проблему.