Окружающая обстановка
Описание
В процессе сборки мы автоматически обновляемся до последней версии на pip. После обновления до 20.0 (используя pip install -U pip setuptools) мы не можем установить какие-либо пакеты.
Вывод
Traceback (most recent call last):
File "/home/svc-web/webshop/env/bin/pip", line 8, in <module>
sys.exit(main())
File "/home/svc-web/webshop/env/lib/python3.6/site-packages/pip/_internal/cli/main.py", line 73, in main
command = create_command(cmd_name, isolated=("--isolated" in cmd_args))
File "/home/svc-web/webshop/env/lib/python3.6/site-packages/pip/_internal/commands/__init__.py", line 96, in create_command
module = importlib.import_module(module_path)
File "/usr/lib/python3.6/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 994, in _gcd_import
File "<frozen importlib._bootstrap>", line 971, in _find_and_load
File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 678, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/home/svc-web/webshop/env/lib/python3.6/site-packages/pip/_internal/commands/install.py", line 24, in <module>
from pip._internal.cli.req_command import RequirementCommand
File "/home/svc-web/webshop/env/lib/python3.6/site-packages/pip/_internal/cli/req_command.py", line 20, in <module>
from pip._internal.operations.prepare import RequirementPreparer
File "/home/svc-web/webshop/env/lib/python3.6/site-packages/pip/_internal/operations/prepare.py", line 16, in <module>
from pip._internal.distributions import (
File "/home/svc-web/webshop/env/lib/python3.6/site-packages/pip/_internal/distributions/__init__.py", line 1, in <module>
from pip._internal.distributions.source import SourceDistribution
ImportError: cannot import name 'SourceDistribution'
Я вижу то же самое:
$ pip install requests
Traceback (most recent call last):
File "/home/ntoll/.virtualenvs/sdclient/bin/pip", line 8, in <module>
sys.exit(main())
File "/home/ntoll/.virtualenvs/sdclient/lib/python3.7/site-packages/pip/_internal/cli/main.py", line 73, in main
command = create_command(cmd_name, isolated=("--isolated" in cmd_args))
File "/home/ntoll/.virtualenvs/sdclient/lib/python3.7/site-packages/pip/_internal/commands/__init__.py", line 96, in create_command
module = importlib.import_module(module_path)
File "/home/ntoll/.virtualenvs/sdclient/lib/python3.7/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 728, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/home/ntoll/.virtualenvs/sdclient/lib/python3.7/site-packages/pip/_internal/commands/install.py", line 24, in <module>
from pip._internal.cli.req_command import RequirementCommand
File "/home/ntoll/.virtualenvs/sdclient/lib/python3.7/site-packages/pip/_internal/cli/req_command.py", line 20, in <module>
from pip._internal.operations.prepare import RequirementPreparer
File "/home/ntoll/.virtualenvs/sdclient/lib/python3.7/site-packages/pip/_internal/operations/prepare.py", line 16, in <module>
from pip._internal.distributions import (
File "/home/ntoll/.virtualenvs/sdclient/lib/python3.7/site-packages/pip/_internal/distributions/__init__.py", line 1, in <module>
from pip._internal.distributions.source import SourceDistribution
ImportError: cannot import name 'SourceDistribution' from 'pip._internal.distributions.source' (/home/ntoll/.virtualenvs/sdclient/lib/python3.7/site-packages/pip/_internal/distributions/source/__init__.py)
Python 3.7.2 в Ubuntu 18.04
Здесь же https://github.com/pypa/pip/pull/7619#issuecomment -576649700
Похоже на нечистый dist.
Точно так же и с Python 3.7.5 на Fedora 29. То же самое происходит и в virtualenvs, и с --user
. Кроме того, не имеет значения, запускаю ли я pip3.7
или python3.7 -m pip
.
И, как предлагает @ntoll ниже, спасибо всем, кто работает над исправлением этого досадного сбоя! Приятно видеть здесь только нейтральные и поддерживающие комментарии. Сообщество Open Source в своих лучших проявлениях.
то же самое, python 3.8.1 на android 9 termux. я предполагаю, что это то же самое в основном для всех
У меня такая же проблема в сборке докера с использованием образа python:3.8-buster
:
Step 1/6 : FROM python:3.8-buster
---> 0a3a95c81a2b
Step 2/6 : ADD . /app
---> a3be40376bd8
Step 3/6 : WORKDIR /app
---> Running in 6f53960d3257
Removing intermediate container 6f53960d3257
---> 14b7a3ccf004
Step 4/6 : RUN pip install --upgrade pip setuptools
---> Running in 6f9dfc84e0a3
Collecting pip
Downloading https://files.pythonhosted.org/packages/60/65/16487a7c4e0f95bb3fc89c2e377be331fd496b7a9b08fd3077de7f3ae2cf/pip-20.0-py2.py3-none-any.whl (1.5MB)
Collecting setuptools
Downloading https://files.pythonhosted.org/packages/a7/c5/6c1acea1b4ea88b86b03280f3fde1efa04fefecd4e7d2af13e602661cde4/setuptools-45.1.0-py3-none-any.whl (583kB)
Installing collected packages: pip, setuptools
Found existing installation: pip 19.3.1
Uninstalling pip-19.3.1:
Successfully uninstalled pip-19.3.1
Found existing installation: setuptools 41.6.0
Uninstalling setuptools-41.6.0:
Successfully uninstalled setuptools-41.6.0
Successfully installed pip-20.0 setuptools-45.1.0
Removing intermediate container 6f9dfc84e0a3
---> 4db4dd1c01a1
Step 5/6 : RUN pip install -r requirements.txt
---> Running in 01e0b70d0d81
Traceback (most recent call last):
File "/usr/local/bin/pip", line 8, in <module>
sys.exit(main())
File "/usr/local/lib/python3.8/site-packages/pip/_internal/cli/main.py", line 73, in main
command = create_command(cmd_name, isolated=("--isolated" in cmd_args))
File "/usr/local/lib/python3.8/site-packages/pip/_internal/commands/__init__.py", line 96, in create_command
module = importlib.import_module(module_path)
File "/usr/local/lib/python3.8/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 783, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/usr/local/lib/python3.8/site-packages/pip/_internal/commands/install.py", line 24, in <module>
from pip._internal.cli.req_command import RequirementCommand
File "/usr/local/lib/python3.8/site-packages/pip/_internal/cli/req_command.py", line 20, in <module>
from pip._internal.operations.prepare import RequirementPreparer
File "/usr/local/lib/python3.8/site-packages/pip/_internal/operations/prepare.py", line 16, in <module>
from pip._internal.distributions import (
File "/usr/local/lib/python3.8/site-packages/pip/_internal/distributions/__init__.py", line 1, in <module>
from pip._internal.distributions.source import SourceDistribution
ImportError: cannot import name 'SourceDistribution' from 'pip._internal.distributions.source' (/usr/local/lib/python3.8/site-packages/pip/_internal/distributions/source/__init__.py)
То же самое. Python 3.7.4 с использованием Ubuntu 18.04 и Alpine Linux на Docker.
То же самое на MacPorts Python на macOS:
$ rm -rf venv && python3.8 -m venv venv && ./venv/bin/python -m pip install -U pip && ./venv/bin/python -m pip install requests
Collecting pip
Using cached https://files.pythonhosted.org/packages/60/65/16487a7c4e0f95bb3fc89c2e377be331fd496b7a9b08fd3077de7f3ae2cf/pip-20.0-py2.py3-none-any.whl
Installing collected packages: pip
Found existing installation: pip 19.2.3
Uninstalling pip-19.2.3:
Successfully uninstalled pip-19.2.3
Successfully installed pip-20.0
Traceback (most recent call last):
File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/runpy.py", line 193, in _run_module_as_main
return _run_code(code, main_globals, None,
...
File "/Users/messa/test/venv/lib/python3.8/site-packages/pip/_internal/operations/prepare.py", line 16, in <module>
from pip._internal.distributions import (
File "/Users/messa/test/venv/lib/python3.8/site-packages/pip/_internal/distributions/__init__.py", line 1, in <module>
from pip._internal.distributions.source import SourceDistribution
ImportError: cannot import name 'SourceDistribution' from 'pip._internal.distributions.source' (/Users/messa/test/venv/lib/python3.8/site-packages/pip/_internal/distributions/source/__init__.py)
Точно такая же проблема. Python 3.7.6, система: Mac OS Catalina
Та же проблема с Python 3.7.3, который используется по умолчанию в Ubuntu 19.04.
Стоит отметить, что ошибки, проблемы и непредвиденные происшествия случаются со всеми проектами, независимо от того, насколько тщательно вы планируете и пытаетесь смягчить такие события.
Поделитесь мыслями и поддержите комментариями для волонтеров -питоновцев, изучающих это и исправляющих для нашей пользы.
Обратите внимание на сопровождающего pip
, но я думаю, что у нас есть два варианта продвижения вперед: 1) отрезать чистый дистрибутив и увеличить версию; 2) хотя бы 20 стянуть с pypi (может быть уже поздно).
А пока это может быть полезно, если вы используете virtualenv
:
virtualenv venv --no-pip
source venv/bin/activate
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py pip==19.3.1
Просто хотел отметить, что наша система сборки тоже вышла из строя. К счастью, это не критично, и я согласен с @ntoll , что иногда дела идут плохо, и я уверен, что вы делаете все возможное, чтобы это исправить.
@pradyunsg Я подтверждаю проблему. Я предлагаю вытащить его из PyPI.
@xdralex Да :+1: Я просто набирал что-то подобное.
Кроме того, если у вас есть пригодный для использования pip
в вашей глобальной среде, тогда virtualenv venv --no-download
будет использовать его вместо загрузки сломанной версии.
Только для полноты: Windows также затронута. Win10 + Python 3.7.4 здесь (WinPython):
python -m pip uninstall pip
Traceback (most recent call last):
File "v:\bin\scripting\python\3.7.4\python-3.7.4.amd64\lib\runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "v:\bin\scripting\python\3.7.4\python-3.7.4.amd64\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "v:\bin\scripting\python\3.7.4\python-3.7.4.amd64\lib\site-packages\pip\__main__.py", line 19, in <module>
sys.exit(_main())
File "v:\bin\scripting\python\3.7.4\python-3.7.4.amd64\lib\site-packages\pip\_internal\cli\main.py", line 73, in main
command = create_command(cmd_name, isolated=("--isolated" in cmd_args))
File "v:\bin\scripting\python\3.7.4\python-3.7.4.amd64\lib\site-packages\pip\_internal\commands\__init__.py", line 96, in create_command
module = importlib.import_module(module_path)
File "v:\bin\scripting\python\3.7.4\python-3.7.4.amd64\lib\importlib\__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 728, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "v:\bin\scripting\python\3.7.4\python-3.7.4.amd64\lib\site-packages\pip\_internal\commands\uninstall.py", line 9, in <module>
from pip._internal.cli.req_command import SessionCommandMixin
File "v:\bin\scripting\python\3.7.4\python-3.7.4.amd64\lib\site-packages\pip\_internal\cli\req_command.py", line 20, in <module>
from pip._internal.operations.prepare import RequirementPreparer
File "v:\bin\scripting\python\3.7.4\python-3.7.4.amd64\lib\site-packages\pip\_internal\operations\prepare.py", line 16, in <module>
from pip._internal.distributions import (
File "v:\bin\scripting\python\3.7.4\python-3.7.4.amd64\lib\site-packages\pip\_internal\distributions\__init__.py", line 1, in <module>
from pip._internal.distributions.source import SourceDistribution
ImportError: cannot import name 'SourceDistribution' from 'pip._internal.distributions.source' (v:\bin\scripting\python\3.7.4\python-3.7.4.amd64\lib\site-packages\pip\_internal\distributions\source\__init__.py)
По-видимому, влияет на любые команды pip
или python -m pip
после установки 20.0.0. Итак, я также не могу вернуться к 19.3.
редактировать: этот обходной путь помог.
Для тех людей, у которых нарушены процессы сборки, потому что они делают что-то похожее на pip install -U pip setuptools
OP — помните, что вы можете настроить это, чтобы запретить или ограничить любую конкретную версию.
Оба они, кажется, работают нормально для меня локально:
$ pip install -U "pip<20" setuptools
$ pip install -U "pip!=20.0" setuptools
pip
предупредит вас об отсутствии последней версии, но не установит v20.0
.
@james-gonzalez Не уверен, что отключение новой версии является частью CI.
Читая https://pip.pypa.io/en/latest/development/release-process/#creating -a-new-release, возможно, после проверки master
следует применить git clean.
У меня точно такая же проблема в чистом док-контейнере с последней версией Ubuntu, а также с последней версией Arch Linux.
Я попытался загрузить и запустить get-pip в новом виртуальном окружении, но он все еще не работает:/
Я заметил, что в папке pip/_internal/distributions/
есть файл python с именем source.py
и папка с именем source
. На данный момент я вручную удалил папку, и pip снова работает.
Обходной путь для возобновления работы pip — получить и запустить скрипт get-pip.py :
python get-pip.py pip==19.3.1
Это вернет pip к предыдущей версии.
Разве вы не слушаете собственные тесты КИ?
Всегда помните, что сопровождающие — тоже люди, и ошибки программирования на самом деле распространены среди представителей этого вида. Мы должны оказывать любую поддержку им или сообществу, в которой они нуждаются, а не обвинять людей.
Я только что столкнулся с той же проблемой, и я установил pip из репо (20.1.dev), и это решило ее. Только что клонировал это репо и pip install -e ./pip
Кстати, похоже, что это просто отсутствующий импорт. Мое исправление было:
pip\_internal\distributions\source\__init__.py
from .legacy import SourceDistribution
Подтверждено, наша система CI сталкивается с той же проблемой.
https://github.com/pypa/pip/issues/7217
Установите более старую версию:
завиток https://bootstrap.pypa.io/get-pip.py -o get-pip.py
питон get-pip.py пип == 19.3.1
Возможный локальный обходной путь:
https://github.com/pypa/pip/issues/7217#issuecomment-576653463
Удаление папки ./site-packages/pip/_internal/distributions/source помогает!
Это исправлено в https://github.com/pypa/pip/pull/7621, как указано в https://github.com/pypa/pip/issues/7217 :)
То же самое, подтверждено как на Amazon Linux на экземпляре EC2, так и на локальном компьютере Fedora.
Из чистого любопытства, почему эта версия была выпущена, хотя последние конвейеры не показали эту ошибку? https://travis-ci.org/pypa/pip/builds/639902383
Совсем не резкое замечание, просто интересует процесс релиза и как можно избежать подобных проблем в будущем!
Большое спасибо за текущую работу по исправлению :+1:
Недавно я обновился до pip 20.0, используя «python -m pip install --upgrade pip». После обновления даже команда "список пипсов" сломалась. Теперь я вижу, что выпущена новая версия 20.0.1, но если я сделаю «python -m pip install --upgrade pip», я получу ту же ошибку. Как мне обновиться до последней версии 20.0.1?
@nachiketrss попробуйте установить с get-pip.py
@nachiketrss curl https://bootstrap.pypa.io/get-pip.py | питон
Или питон3
Сопоставимая ошибка для CentOS 7 с Python3.6:
$ cat /etc/redhat-release
CentOS Linux release 7.7.1908 (Core)
$ mkvirtualenv --python=/usr/bin/python3.6 foo
(foo) $ which python
~/.virtualenvs/foo/bin/python
(foo) $ which pip
~/.virtualenvs/foo/bin/pip
(foo) $ pip --version
pip 20.0 from /home/foo/.virtualenvs/foo/lib/python3.6/site-packages/pip (python 3.6)
(foo) $ pip list
Traceback (most recent call last):
File "/home/foo/.virtualenvs/foo/bin/pip", line 10, in <module>
sys.exit(main())
File "/home/foo/.virtualenvs/foo/lib/python3.6/site-packages/pip/_internal/cli/main.py", line 73, in main
command = create_command(cmd_name, isolated=("--isolated" in cmd_args))
File "/home/foo/.virtualenvs/foo/lib/python3.6/site-packages/pip/_internal/commands/__init__.py", line 96, in create_command
module = importlib.import_module(module_path)
File "/home/foo/.virtualenvs/foo/lib64/python3.6/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 994, in _gcd_import
File "<frozen importlib._bootstrap>", line 971, in _find_and_load
File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 678, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/home/foo/.virtualenvs/foo/lib/python3.6/site-packages/pip/_internal/commands/list.py", line 13, in <module>
from pip._internal.cli.req_command import IndexGroupCommand
File "/home/foo/.virtualenvs/foo/lib/python3.6/site-packages/pip/_internal/cli/req_command.py", line 20, in <module>
from pip._internal.operations.prepare import RequirementPreparer
File "/home/foo/.virtualenvs/foo/lib/python3.6/site-packages/pip/_internal/operations/prepare.py", line 16, in <module>
from pip._internal.distributions import (
File "/home/foo/.virtualenvs/foo/lib/python3.6/site-packages/pip/_internal/distributions/__init__.py", line 1, in <module>
from pip._internal.distributions.source import SourceDistribution
ImportError: cannot import name 'SourceDistribution'
Больше не возникает проблем с выпуском pip 20.0.1, спасибо. Согласитесь, было бы полезно понять сбои заданий выше в журналах сборки, на которые ссылается @lerela .
Я могу подтвердить, что 20.0.1 исправила проблему.
Сопоставимая ошибка для CentOS 7 с Python3.6:
$ cat /etc/redhat-release CentOS Linux release 7.7.1908 (Core) $ mkvirtualenv --python=/usr/bin/python3.6 foo (foo) $ which python ~/.virtualenvs/foo/bin/python (foo) $ which pip ~/.virtualenvs/foo/bin/pip (foo) $ pip --version pip 20.0 from /home/foo/.virtualenvs/foo/lib/python3.6/site-packages/pip (python 3.6) (foo) $ pip list Traceback (most recent call last): File "/home/foo/.virtualenvs/foo/bin/pip", line 10, in <module> sys.exit(main()) File "/home/foo/.virtualenvs/foo/lib/python3.6/site-packages/pip/_internal/cli/main.py", line 73, in main command = create_command(cmd_name, isolated=("--isolated" in cmd_args)) File "/home/foo/.virtualenvs/foo/lib/python3.6/site-packages/pip/_internal/commands/__init__.py", line 96, in create_command module = importlib.import_module(module_path) File "/home/foo/.virtualenvs/foo/lib64/python3.6/importlib/__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 994, in _gcd_import File "<frozen importlib._bootstrap>", line 971, in _find_and_load File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 665, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 678, in exec_module File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed File "/home/foo/.virtualenvs/foo/lib/python3.6/site-packages/pip/_internal/commands/list.py", line 13, in <module> from pip._internal.cli.req_command import IndexGroupCommand File "/home/foo/.virtualenvs/foo/lib/python3.6/site-packages/pip/_internal/cli/req_command.py", line 20, in <module> from pip._internal.operations.prepare import RequirementPreparer File "/home/foo/.virtualenvs/foo/lib/python3.6/site-packages/pip/_internal/operations/prepare.py", line 16, in <module> from pip._internal.distributions import ( File "/home/foo/.virtualenvs/foo/lib/python3.6/site-packages/pip/_internal/distributions/__init__.py", line 1, in <module> from pip._internal.distributions.source import SourceDistribution ImportError: cannot import name 'SourceDistribution'
Закрытие текущего терминала и работа с новым решили проблему для меня.
Хорошо, похоже, это было исправлено. Закрытие.
Я знаю, что все люди, работающие над этим, являются волонтерами, и я очень рад за всю их работу!
Но, как упомянул @lerela , мы должны немного изучить, как такое могло произойти и как мы можем избежать такой ошибки.
Pip — один из основных и наиболее часто используемых инструментов во всей индустрии программного обеспечения.
И похоже, что новая версия была выпущена, хотя она не была хотя бы протестирована для запуска основных команд.
Проверяем ли мы эти сборки перед выпуском?
Процесс релиза как-то контролируется и проверяется, или это шоу одного человека?
Я бы понял эту ситуацию, если бы такая ошибка произошла в каком-то срочном выпуске поспешного исправления, но версия 20 была выпущена через несколько месяцев после 19.3.1.
Ну, мы выяснили, что вызвало это, и вносим изменения в процесс выпуска, чтобы это исправить: https://github.com/pypa/pip/pull/7624 .
Из чистого любопытства, почему эта версия была выпущена, хотя последние конвейеры не показали эту ошибку? https://travis-ci.org/pypa/pip/builds/639902383
Совсем не резкое замечание, просто интересует процесс релиза и как можно избежать подобных проблем в будущем!
Большое спасибо за текущую работу по исправлению 👍
@lerela @pabelanger это не то, что здесь произошло: этот журнал сборки был запущен после того, как выпуск был выполнен ( эта фиксация была запущена во время выпуска скриптом ), о чем свидетельствуют эти журналы неудачных сборок (например , этот ):
Using cached https://files.pythonhosted.org/packages/60/65/16487a7c4e0f95bb3fc89c2e377be331fd496b7a9b08fd3077de7f3ae2cf/pip-20.0-py2.py3-none-any.whl
То, что это так, имеет смысл: это изменение было объединено некоторое время назад и не сразу вызвало сбои, потому что это не ошибка исходного кода, а так. Например, этого не происходит при обновлении с «достаточно старого» пипа (я использовал 9.0.1). Вместо этого это вызвано тем, что при обновлении остаются артефакты (основная ошибка, которая в настоящее время неясна, по крайней мере, для меня).
Эта проблема не была обнаружена конвейером, поэтому дальнейшие улучшения для тестовых путей обновления в конвейере будут приветствоваться @lerela @pabelanger, и внести свой вклад в pip легко!
Подтверждено, что AWS Beanstalk дает сбой при попытке установить или обновить новое приложение на основе Python...
Спасибо, что так быстро решили проблему, @pradyunsg .
Каков наилучший путь для исправления этого? Попытка обновить pip
на моем экземпляре ec2 с pip20.0 до 20.1 по-прежнему завершается с ошибкой. sudo pip2 install -U pip2
.
Каков наилучший путь для исправления этого? Попытка обновить
pip
на моем экземпляре ec2 с pip20.0 до 20.1 по-прежнему завершается с ошибкой.sudo pip2 install -U pip2
.
https://github.com/pypa/pip/issues/7620#issuecomment-576669697
@fideloper Спасибо, что спросили! Я только что ответил на это по другому вопросу: https://github.com/pypa/pip/issues/7217#issuecomment -576698030
Предложение @honnix также работает, хотя я бы не рекомендовал использовать curl ... | python
.
Отлично, всем большое спасибо!
@fideloper также, если ваш дистрибутив не срывает ensurepip
с CPython, вы сможете использовать его через python -m ensurepip
Кроме того, спасибо за публикацию вашего анализа работы CI @cryvate! Я только что вернулся, чтобы ответить на это, и ваш комментарий в основном по делу.
FWIW, единственное задание CI для pip, которое не выполнялось до pip 20.0, было нетестовым заданием для Windows из-за некоторой проблемы с git + Windows + authors.txt, которая в основном не связана с фактическим процессом выпуска.
Выглядит фиксированным для меня. Сегодня утром я получил эту ошибку на одном из наших конвейеров непрерывной интеграции, и теперь она исправлена. Закрепление pip install -U "pip<20"
работало как обходной путь, но я случайно попробовал его без него только сейчас, и, похоже, это исправлено.
Мы все еще видим эту проблему с 20.0.1 .
Будет работать над сборкой реплики, но ошибка, которую мы получаем, связана с зависимостью от xgboost==0.81
, который на 19-м пункте загрузил whl-пакет, а на 20.0 и 20.0.1 загружает архив и пытается собрать это (что не удается, потому что в нашей цепочке сборки не установлены необходимые инструменты).
@tomasaschan Не могли бы вы создать новую проблему с более подробной информацией о том, как происходит сборка, и, в идеале, с минимальным воспроизводящим устройством?
@tomasaschan Я думаю, вы видите другую проблему, а не эту. Эта проблема связана с неработающей установкой самого pip. В вашем случае, я думаю, вы видите некоторые изменения поведения вокруг тегов колес, таких как # 6908. Не могли бы вы создать новую проблему, пожалуйста?
( xgboost
имеет несколько странных тегов. У него есть xgboost-0.90-py2.py3-none-manylinux1_x86_64.whl
, но это очень странно: если пакет содержит скомпилированные расширения C, как указано manylinux1
, вряд ли это действительно будет py2.py3-none
, но это можно обсудить, в отличие от gevent-1.4.0-cp27-cp27m-manylinux1_x86_64.whl
)
sudo python get-pip.py pip==19.3.1
для решения этой проблемы
@pradyunsg @jamadden Работает над созданием минимального файла Dockerfile, воспроизводящего ошибку; подаст новый вопрос, как только мне удастся. (У нас есть несколько слоев внутренних базовых изображений, которые я должен перерыть, чтобы найти что-то, что можно добавить в общедоступные FROM
...)
В интересах нубов Py, таких как я, может ли кто-нибудь предоставить чистое, полное исправление или обходной путь для этой проблемы? Кроме того, не уверен, насколько это важно, но сообщение об ошибке, которое я получил, немного отличается:
ImportError: cannot import name 'PackageFinder' from 'pip._internal.index' (/usr/lib/python3.8/site-packages/pip/_internal/index/__init__.py)
Спасибо за быстрое решение, а также за запись!
@ Richard-steiger У меня была такая же проблема. Мое исправление состояло в том, чтобы удалить pip, загрузить tar.gz v20.0.1 из pypi , а затем установить, запустив «python setup.py install».
Исправлено (под Cygwin-X) !
блх@ЛПТ-В-23 ~
$ python /cygdrive/c/Temp/get-pip.py pip==19.3.1
Сбор пункта == 19.3.1
Ошибка десериализации записи кэша, запись игнорируется
Ошибка десериализации записи кэша, запись игнорируется
Загрузка https://files.pythonhosted.org/packages/00/b6/9cfa56b4081ad13874b0c6f96af8ce16cfbc1cb06bedf8e9164ce5551ec1/pip-19.3.1-py2.py3-none-any.whl (1,4 МБ)
100% |#################################| 1,4 МБ 585 КБ/с
Установка собранных пакетов: pip
Найдена существующая установка: pip 20.0
Удаление pip-20.0:
Успешно удалил pip-20.0
Успешно установлен pip-19.3.1
Вы используете версию pip 19.3.1, однако доступна версия 20.0.1.
Вам следует рассмотреть возможность обновления с помощью команды «pip install --upgrade pip».
блх@ЛПТ-В-23 ~
$ pip-review --local --interactive
pexpect==4.8.0 доступен (у вас 4.7.0)
Обнови сейчас? [Да] да, [Н] о, [А] ll, [Q] uit y
pip==20.0.1 доступен (у вас 19.3.1)
Обнови сейчас? [Y] да, [N] о, [A] ll, [Q] uit n
urllib3==1.25.8 доступен (у вас 1.25.7)
Обнови сейчас? [Да] да, [Н] о, [А] ll, [Q] uit y
Сбор pexpect==4.8.0
Загрузка https://files.pythonhosted.org/packages/39/7b/88dbb785881c28a102619d46423cb853b46dbccc70d3ac362d99773a78ce/pexpect-4.8.0-py2.py3-none-any.whl (59kB)
|#################################| 61кБ 797кБ/с
Сбор urllib3==1.25.8
Загрузка https://files.pythonhosted.org/packages/e8/74/6e4f91745020f967d09332bb2b8b9b10090957334692eb88ea4afe91b77f/urllib3-1.25.8-py2.py3-none-any.whl (125 КБ)
|#################################| 133 КБ 14,6 МБ/с
Требование уже выполнено: ptyprocess>=0.5 в /usr/lib/python3.6/site-packages (из pexpect==4.8.0) (0.6.0)
Установка собранных пакетов: pexpect, urllib3
Найдена существующая установка: pexpect 4.7.0
Удаление pexpect-4.7.0:
Успешно удален pexpect-4.7.0
Найдена существующая установка: urllib3 1.25.7
Удаление urllib3-1.25.7:
Успешно удалено urllib3-1.25.7
Успешно установлен pexpect-4.8.0 urllib3-1.25.8
ВНИМАНИЕ: вы используете версию pip 19.3.1; однако доступна версия 20.0.1.
Вам следует рассмотреть возможность обновления с помощью команды «pip install --upgrade pip».
блх@ЛПТ-В-23 ~
$ pip install --обновить пип
Сбор пункта
Загрузка https://files.pythonhosted.org/packages/57/36/67f809c135c17ec9b8276466cc57f35b98c240f55c780689ea29fa32f512/pip-20.0.1-py2.py3-none-any.whl (1,5 МБ)
|#################################| 1,5 МБ 2,4 МБ/с
Установка собранных пакетов: pip
Найдена существующая установка: pip 19.3.1
Удаление pip-19.3.1:
Успешно удален pip-19.3.1
Успешно установлен pip-20.0.1
Теперь пип полностью работает в версии 20.0.1!!!
блх@ЛПТ-В-23 ~
$ pip-review --local --interactive
dbus-python==1.2.16 доступен (у вас 1.2.8)
Обнови сейчас? [Y] да, [N] о, [A] ll, [Q] uit n
numpy==1.18.1 доступен (у вас 1.16.2)
Обнови сейчас? [Y] да, [N] о, [A] ll, [Q] uit n
Это также влияет на readthedocs:
/home/docs/checkouts/readthedocs.org/user_builds/returns/envs/latest/bin/python -m pip install --upgrade --cache-dir /home/docs/checkouts/readthedocs.org/user_builds/returns/.cache/pip pip
Traceback (most recent call last):
File "/home/docs/.pyenv/versions/3.6.8/lib/python3.6/runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "/home/docs/.pyenv/versions/3.6.8/lib/python3.6/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/home/docs/checkouts/readthedocs.org/user_builds/returns/envs/latest/lib/python3.6/site-packages/pip/__main__.py", line 16, in <module>
from pip._internal import main as _main # isort:skip # noqa
File "/home/docs/checkouts/readthedocs.org/user_builds/returns/envs/latest/lib/python3.6/site-packages/pip/_internal/__init__.py", line 40, in <module>
from pip._internal.cli.autocompletion import autocomplete
File "/home/docs/checkouts/readthedocs.org/user_builds/returns/envs/latest/lib/python3.6/site-packages/pip/_internal/cli/autocompletion.py", line 8, in <module>
from pip._internal.cli.main_parser import create_main_parser
File "/home/docs/checkouts/readthedocs.org/user_builds/returns/envs/latest/lib/python3.6/site-packages/pip/_internal/cli/main_parser.py", line 12, in <module>
from pip._internal.commands import (
File "/home/docs/checkouts/readthedocs.org/user_builds/returns/envs/latest/lib/python3.6/site-packages/pip/_internal/commands/__init__.py", line 6, in <module>
from pip._internal.commands.completion import CompletionCommand
File "/home/docs/checkouts/readthedocs.org/user_builds/returns/envs/latest/lib/python3.6/site-packages/pip/_internal/commands/completion.py", line 6, in <module>
from pip._internal.cli.base_command import Command
File "/home/docs/checkouts/readthedocs.org/user_builds/returns/envs/latest/lib/python3.6/site-packages/pip/_internal/cli/base_command.py", line 25, in <module>
from pip._internal.index import PackageFinder
ImportError: cannot import name 'PackageFinder'
readthedocs только что установил для меня pip 20.0.1, поэтому кажется, что каскад поломок остановлен, хорошая работа! :смайлик:
pip 20.0.1 не исправляет это для меня на MACOS 10.15.2 с Python 2.7. Проблема также существовала с pip 19.3.1, который я попробовал первым.
iMac:~ george$ sudo easy_install pip Поиск pip Лучшее совпадение: pip 20.0.1 Обработка pip-20.0.1-py2.7.egg Удаление pip 19.3.1 из файла easy-install.pth Добавление pip 20.0.1 в easy- Файл install.pth Установка сценария pip в /usr/local/bin Установка сценария pip3.8 в /usr/local/bin Установка сценария pip3 в /usr/local/bin
Использование /Library/Python/2.7/site-packages/pip-20.0.1-py2.7.egg Обработка зависимостей для pip Завершение обработки зависимостей для pip
iMac: ~ george$ pip install -U spacy Traceback (последний вызов последним):
Файл "/opt/local/bin/pip", строка 11, в
sys.exit(основной())
Файл "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip/_internal/cli/main.py", строка 73, в основном
command = create_command(cmd_name, изолированный=("--isolated" в cmd_args))
Файл "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip/_internal/commands/__init__.py", строка 96, в create_command
модуль = importlib.import_module (модуль_путь)
Файл "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", строка 37, в import_module
__импорт__(имя)
Файл "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip/_internal/commands/install.py", строка 24, в
из pip._internal.cli.req_command импортировать RequirementCommand
Файл "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip/_internal/cli/req_command.py", строка 20, в
из pip._internal.operations.prepare импортировать RequirementPreparer
Файл "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip/_internal/operations/prepare.py", строка 16, в
из импорта pip._internal.distributions (
Файл "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip/_internal/distributions/__init__.py", строка 1, в
из pip._internal.distributions.source импортировать SourceDistribution
ImportError: невозможно импортировать имя SourceDistribution
@ george542 у вас есть другой pip, установленный нормально, в то время как вы также установили более новый pip неработающим способом с помощью setuptools, пожалуйста, очистите все установки pip и установки pip egg, затем установите pip, используя скрипт get-pip, который выполняет правильную настройку.
Была эта проблема при попытке установить awscli через pip в Circleci.
решается предварительным формированием pip install pip -U
перед запуском pip install awscli
в файле _config.yml_.
readthedocs только что установил для меня pip 20.0.1, поэтому кажется, что каскад поломок остановлен, хорошая работа! 😃
Как вы заставили readthedocs установить для вас pip 20.0.1? Я попытался указать pip==20.0.1 в моем файле requirements.txt, но все еще получаю сообщение об ошибке, упомянутое выше sobolevn.
Хм, у меня он просто обновляет пипс в начале по умолчанию. Но я думаю, что стирание среды сборки может вызвать это.
Итак, pip2.7 install --upgrade pip
теперь должен решить проблему?
Хм, у меня он просто обновляет пипс в начале по умолчанию. Но я думаю, что стирание среды сборки может вызвать это.
Это сработало! Спасибо!
Привет всем,
Моя операционная система Arch-Linux.
Я следил за документацией, чтобы установить wfuzz, но, к сожалению, снова получаю эту ошибку. Как я мог это решить? Заранее спасибо.
sudo pip install wfuzz
Traceback (most recent call last):
File "/usr/bin/pip", line 11, in <module>
load_entry_point('pip==19.3', 'console_scripts', 'pip')()
File "/usr/lib/python3.8/site-packages/pip/_internal/main.py", line 45, in main
command = create_command(cmd_name, isolated=("--isolated" in cmd_args))
File "/usr/lib/python3.8/site-packages/pip/_internal/commands/__init__.py", line 96, in create_command
module = importlib.import_module(module_path)
File "/usr/lib/python3.8/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 783, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/usr/lib/python3.8/site-packages/pip/_internal/commands/install.py", line 24, in <module>
from pip._internal.cli.req_command import RequirementCommand
File "/usr/lib/python3.8/site-packages/pip/_internal/cli/req_command.py", line 17, in <module>
from pip._internal.index import PackageFinder
ImportError: cannot import name 'PackageFinder' from 'pip._internal.index' (/usr/lib/python3.8/site-packages/pip/_internal/index/__init__.py)
@Serialc0de См . https://github.com/pypa/pip/issues/5599. Ваш /usr/bin/pip
и ваша установка pip не синхронизированы. (И вы не должны использовать sudo pip
...
@ Serialc0de Vedi # 5599 . La tua
/usr/bin/pip
и tua installazione pip non sono sincronizzate. (E non dovresti usaresudo pip
...
Не могли бы вы помочь мне, пожалуйста, я бился головой в течение 19 часов, но я не могу найти никого, кто решил бы проблему, даже профессионалов-фрилансеров, не могли бы вы помочь мне через tw, чтобы вы могли хорошо объяснить мне? Заранее спасибо бро
Обходной путь для возобновления работы pip — получить и запустить скрипт get-pip.py :
python get-pip.py pip==19.3.1
Это вернет pip к предыдущей версии.
Спасибо! это сработало для меня (python 3.7.4 работает на cygwin64 )
Просто на заметку, мы также столкнулись с другими проблемами, которые мы исправили здесь:
https://github.com/readthedocs/readthedocs.org/pull/6598#issue -368291092
Просто на заметку, мы также столкнулись с другими проблемами, которые мы исправили здесь:
Спасибо. Просто запустив python get-pip.py
, я решил проблему (установил pip-20.0.2).
Получил последнюю версию 20.0.2, но все еще вижу то же самое поведение. Пип вообще не работает.
То же, что @abhi2687. У меня есть ощущение, что это может быть Ubuntu с неправильной версией (также известной как https://github.com/pypa/pip/issues/7620#issuecomment-579257985). На данный момент сбойный скрипт:
pip install --upgrade pip
pip install -r requirements.txt --user
pip install -r requirements_dev.txt --user
Traceback (most recent call last):
File "/usr/local/bin/pip", line 8, in <module>
sys.exit(main())
File "/usr/local/lib/python3.8/site-packages/pip/_internal/main.py", line 45, in main
command = create_command(cmd_name, isolated=("--isolated" in cmd_args))
File "/usr/local/lib/python3.8/site-packages/pip/_internal/commands/__init__.py", line 96, in create_command
module = importlib.import_module(module_path)
File "/usr/local/lib/python3.8/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 783, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/usr/local/lib/python3.8/site-packages/pip/_internal/commands/install.py", line 23, in <module>
from pip._internal.cli.req_command import RequirementCommand
File "/usr/local/lib/python3.8/site-packages/pip/_internal/cli/req_command.py", line 17, in <module>
from pip._internal.index import PackageFinder
ImportError: cannot import name 'PackageFinder' from 'pip._internal.index' (/usr/local/lib/python3.8/site-packages/pip/_internal/index/__init__.py)
Exited with code exit status 1
обновление выглядит нормально, и оно загружает / устанавливает 20.0.2, но затем, кажется, работает 20.0.
Я использую ящик Circleci для проверки. На моем локальном компьютере проблема была устранена pip install --upgrade pip
(Ubuntu 19.10). Так что не уверен, что это определенные версии Ubuntu, что-то связанное с контейнером Circleci circleci/python:3.8
или что-то в этом роде.
Пока два решения, которые сработали:
python get-pip.py pip==19.3.1
и подождите, пока это пройдет.pip install --upgrade pip
и удалите все ссылки на 20.0.0.У меня тоже ничего не получилось!
Пробовал на Windows 7 и 10 и Linux Raspbian, но ничего не работает!
У меня установлена последняя версия 20.0.2 и Python 3.8.1.
Установлен Python 3.8.1, та же ошибка Windows 8.1: Предупреждение. Вы используете версию pip 19.2.3, однако доступна версия 20.0.2. Вам следует рассмотреть возможность обновления с помощью команды «python -m pip install --upgrade pip».
Обходной путь для возобновления работы pip — запустить скрипт get-pip.py https://bootstrap.pypa.io/get-pip.py :
питон get-pip.py пип == 19.3.1
Это вернет pip к предыдущей версии.
Спасибо! это сработало для меня (python 3.7.4 работает на cygwin64)
—
Вы получаете это, потому что вас упомянули.
Ответить на это сообщение непосредственно, просматривать его на GitHub https://github.com/pypa/pip/issues/7620?email_source=notifications&email_token=ABHAYIUZZTOF5FQIJBXBHJDRACAGRA5CNFSM4KJSF7MKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEKERQ6I#issuecomment-579410041 или отписки https://github.com/notifications/unsubscribe- auth/ABHAYIVCAZKVV53U4GXSTBTRACAGRANCNFSM4KJSF7MA .
[R Steiger] Спасибо, также работал с python3.8.1.
Что ж!
Я так и сделал, но в то время была проблема с SSL с PyPI.
Я получаю ту же проблему в течение последних нескольких недель. Я использую MacOS 10.5.3 и установил Python 3.7.6 через Homebrew. Я только что обновил Pip в одной из своих виртуальных сред сегодня с версии 19.x до версии 20.0, и это сломало мою виртуальную среду. Я получаю следующую ошибку:
Traceback (most recent call last):
File "/Users/jeff/Envs/test/bin/pip3", line 5, in <module>
from pip._internal.cli.main import main
ModuleNotFoundError: No module named 'pip._internal.cli.main'
Для тех, у кого есть это в их CI, попробуйте очистить кеш CI
Может быть такая же проблема как здесь . Попробуйте использовать
pip install --no-use-pep517 <package>
Вероятно, связано https://github.com/pypa/pipenv/issues/4128. Еще одно исправление, которое я нашел работающим для меня, это
pip install -U pipenv virtualenv
virtualenv .venv --seeder pip
PIPENV_VENV_IN_PROJECT=1 pipenv install
@jeffself такая же ситуация здесь.
https://github.com/pypa/pip/issues/5599#issue -341052110 решает проблему (как указано в сообщении pip).
Обходной путь для возобновления работы pip — получить и запустить скрипт get-pip.py :
python get-pip.py pip==19.3.1
Это вернет pip к предыдущей версии.
Спасибо, бро... этот обходной путь спасает мой дистрибутив archlinux =)
Я бы предложил общую рабочую площадку, которая сэкономит много времени и боли:
Откройте Setup.cfg и модуль Pip и подтвердите свою версию pip, имя модуля + версию и т. д. Много раз после обновления / понижения статус файла не меняется, поэтому требования, которые приводят к конфликтам.
Теперь, когда PyPI поддерживает выдернутые релизы , я пошел дальше и пометил пункт 20.0 как «выдернутый». pip > 19.2 не установит его по умолчанию и выведет предупреждение при установке через pip install pip==20
:
WARNING: The candidate selected for download or install is a yanked version: 'pip' candidate (version 20.0 at https://files.pythonhosted.org/packages/60/65/16487a7c4e0f95bb3fc89c2e377be331fd496b7a9b08fd3077de7f3ae2cf/pip-20.0-py2.py3-none-any.whl#sha256=eea07b449d969dbc8c062c157852cf8ed2ad1b8b5ac965a6b819e62929e41703 (from https://pypi.org/simple/pip/) (requires-python:>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*))
у меня проблема с установкой пакетов с помощью pip, хотя я установил python с помощью anaconda, я все еще сталкиваюсь с проблемой, я попытался удалить его, а затем снова установить обратно, чтобы проверить, решена ли проблема или нет, но ошибка все еще осталась .
Вот скриншот ошибки, с которой я столкнулся, пожалуйста, помогите мне разобраться с этой ошибкой.
Заранее спасибо
в основном я получаю сообщение об ошибке, если я использую pip, что мне нужно делать
@AvAkanksh Поскольку я увидел, что эта ошибка довольно неопределенна, вы пытались полностью удалить Python со своего компьютера?
@AvAkanksh Поскольку я увидел, что эта ошибка довольно неопределенна, вы пытались полностью удалить Python со своего компьютера?
Да, я пробовал даже это, но в выводе было так много изменений, что все равно выдавало ту же ошибку.
@AvAkanksh , с помощью Google я нашел, вероятно, гораздо лучшие места для поиска подсказок для решения вашей конкретной проблемы:
Если вы найдете решение, самым полезным будет разместить ссылку на него в комментариях на всех вышеперечисленных страницах.
Удачи, надеюсь вы найдете решение!
То самое...😡
у меня такая же ошибка...
Поиск пункта
Лучшее совпадение: пункт 20.2.2
Добавление pip 20.2.2 в файл easy-install.pth
Установка pip-скрипта в /usr/local/bin
ошибка: [Errno 2] Нет такого файла или каталога: '/usr/local/bin/pip'
Самый полезный комментарий
Стоит отметить, что ошибки, проблемы и непредвиденные происшествия случаются со всеми проектами, независимо от того, насколько тщательно вы планируете и пытаетесь смягчить такие события.
Поделитесь мыслями и поддержите комментариями для волонтеров -питоновцев, изучающих это и исправляющих для нашей пользы.