Ambiente
CircleCI usando Conda, por ejemplo, https://circleci.com/gh/peterjc/thapbi-pict/1073
pip install --upgrade pip setuptools
)Solo realicé cambios menores en mi código, pero hoy las compilaciones de CircleCI se rompieron durante la etapa de compilación/instalación de mi herramienta Python: varias ramas afectadas. El momento se ajusta al lanzamiento de pip 19.3 en PyPI.
Descripción
Parece que una versión reciente de pip movió algunos archivos internos, supongo que es #6830.
Comportamiento esperado
Cómo reproducir
Salida completa en https://circleci.com/gh/peterjc/thapbi-pict/1073 que se ejecuta https://github.com/peterjc/thapbi-pict/blob/9fcec2da60e6e6ae5cf7ee6ad4b53dcc3a40cfe7/.circleci/config.yml#L56
...
python setup.py sdist --formats=gztar
python setup.py bdist_wheel
pip install dist/thapbi_pict-*.whl
Producción
Traceback (most recent call last):
File "/opt/conda/bin/pip", line 7, in <module>
from pip._internal import main
File "/opt/conda/lib/python3.7/site-packages/pip/_internal/__init__.py", line 40, in <module>
from pip._internal.cli.autocompletion import autocomplete
File "/opt/conda/lib/python3.7/site-packages/pip/_internal/cli/autocompletion.py", line 8, in <module>
from pip._internal.cli.main_parser import create_main_parser
File "/opt/conda/lib/python3.7/site-packages/pip/_internal/cli/main_parser.py", line 11, in <module>
from pip._internal.commands import (
File "/opt/conda/lib/python3.7/site-packages/pip/_internal/commands/__init__.py", line 9, in <module>
from pip._internal.commands.download import DownloadCommand
File "/opt/conda/lib/python3.7/site-packages/pip/_internal/commands/download.py", line 10, in <module>
from pip._internal.operations.prepare import RequirementPreparer
File "/opt/conda/lib/python3.7/site-packages/pip/_internal/operations/prepare.py", line 9, in <module>
from pip._internal.distributions import (
File "/opt/conda/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' (/opt/conda/lib/python3.7/site-packages/pip/_internal/distributions/source/__init__.py)
Exited with code 1
Sería realmente útil saber qué en la configuración de CircleCI (¿o conda?) Está usando esas API internas: la reorganización no debería haber afectado ningún código externo. El principal problema que conocemos hasta ahora es la reorganización de main, que afecta a los scripts de contenedor, pero este se ve un poco diferente. Cualquier idea que pueda dar sería muy útil, gracias.
Confirmado que eliminando pip install --upgrade pip setuptools
cosas arregladas,
https://github.com/peterjc/thapbi-pict/commit/4060404c1034a676439aef1369260022577a6627
https://circleci.com/gh/peterjc/thapbi-pict/1074
es decir, algo se rompió en la forma en que actualicé de pip 19.2.3 a 19.3
No estoy usando intencionalmente el Python proporcionado por CircleCI, sino el Python provisto por Conda. ¿Tiene algún valor cambiar de pip ...
a python -m pip ...
solo para eliminar la posibilidad de que esto se deba a la mezcla de Pythons?
Trabajando en una rama ahora, agregó un poco más de registro y volvió a la versión rota:
https://circleci.com/gh/peterjc/thapbi-pict/1076
Esto confirma que el rastreo se activa con pip install dist/thapbi_pict-*.whl
(comodín para coincidir con la única rueda recién construida).
Bien, usar python -m pip ...
lugar de pip ...
no ayuda:
https://circleci.com/gh/peterjc/thapbi-pict/1077
https://github.com/peterjc/thapbi-pict/commit/c168fbb7b61b2670bfb73dfb7ea87605fd17bfaf
Por lo que vale, acabo de confirmar que from pip._internal import main
funciona en una simple actualización de pip (en Windows, por lo que no es realmente una buena comparación, pero de todos modos...). Así que sospecho que hay algo que no coincide en su entorno, aunque no puedo ver en el rastreo qué es.
CircleCI tiene la capacidad de volver a ejecutar un trabajo con acceso SSH a la VM (no es que lo haya usado alguna vez), por lo que, en teoría, esto podría usarse para la depuración, pero realmente no sé por dónde empezar.
Tengo un trabajo por ahora, y en algún momento conda-forge tendrá pip 19.3 empaquetado también, así que a menos que otras personas vean la misma excepción, ¿parece una prioridad baja?
Está bien. Si tiene una solución alternativa, estoy bien dejándola ahí por ahora. Si otros agregan comentarios que informan que está sucediendo en otro lugar, entonces podemos investigar un poco más, tal vez tengan información adicional que sea útil.
Estoy enfrentando un problema similar en macOS, python: 3.6.9. El comando pip en mi terminal ya no funciona. ¿Alguna sugerencia?
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py
Esto ayudó por ahora
Tengo el mismo problema en CircleCI desde hace 1 hora.
El cambio de versión de la imagen de la ventana acoplable de python: 3.7.4 soluciona este problema. (solo solución). como esto:
version: 2
...
jobs:
build:
docker:
- image: python:3.7.4
...
¿Alguno de ustedes está utilizando el almacenamiento en caché? Creo que es posible que algunas partes internas de pip hayan cambiado y cuando restauras el caché de la versión anterior de python, pip se rompe. Le sugiero que invalide los cachés de CI de su círculo cambiando el keys
y vea qué sucede... (¡funcionó para mí!)
Como sugirió @bgkelly, ¡ limpiar el caché también funcionó para mí!
Sí, lo mismo para mí: cambiar la clave de caché ha resuelto esto para los proyectos de nuestro equipo en circleci. Gracias @bgkelly
Cambiar la clave de caché no me lo resolvió.
Sin embargo, agregar un comentario en requirements.txt
hizo, pero esa no es una solución deseada.
Muy bien, esto parece un problema de almacenamiento en caché para CircleCI.
¿Podría alguien comunicarse con la gente de CircleCI (a través de sus canales de soporte)? Sería genial si pudieran investigar esto y posiblemente intervenir aquí.
Hola a todos,
Realmente no sé si esto te ayuda de alguna manera, pero recibí el mismo mensaje de error en mi configuración de MSYS al intentar instalar WeasyPrint.
Después de desinstalar python3-pip y python3-setuptools, eliminé todas las carpetas pip en /usr/lib/python3.7/site-packages/ y reinstalé ambos... resolví ese error específico.
pacman -R python3-pip python3-setuptools
rm -R /usr/lib/python3.7/site-packages/pip
rm -R /usr/lib/python3.7/site-packages/pip-19.3.1.dist-info
pacman -S python3-pip python3-setuptools
Para ser justos, ahora me encontré con problemas con el compilador... pero tal vez podría ayudar...
En caso de que esto pueda ayudar, encontré el error en un contexto diferente: al copiar un entorno virtual de una imagen acoplable a otra, en una configuración de varias etapas.
La imagen de origen contiene una versión menos reciente de pip
mientras que la imagen de destino contiene una versión mejorada de pip
. Después de copiar el directorio del entorno virtual de la imagen de origen en la imagen de destino, hay 2 directorios diferentes ( pip-<version>.dist-info
) en el entorno virtual site-packages
y pip
no funciona, dando el mismo error que se informó en este problema.
No dediqué tiempo a solucionar el problema, ya que soy algo escéptico con respecto a este enfoque que implica copiar el entorno virtual en un entorno donde ya hay paquetes instalados.
En cualquier caso, parece ser un problema de colisión de paquetes.
¡Espero que esto ayude! :sonrisa:
Hola
Creo que vemos el mismo problema en nuestro servidor interno de ReadTheDocs. Ejecuta el siguiente comando al crear un documento:
var/lib/readthedocs/repo/user_builds/some_doc/envs/latest/bin/python -m pip install --upgrade --cache-dir /var/lib/readthedocs/repo/user_builds/some_doc/.cache/pip pip
Si borro la memoria caché de compilación a través de la interfaz GUI de ReadTheDocs, la compilación es exitosa, pero solo hasta la próxima vez que se inicie una compilación.
Aquí está el registro completo:
Traceback (most recent call last):
File "/usr/lib64/python3.6/runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "/usr/lib64/python3.6/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/var/lib/readthedocs/repo/user_builds/some_doc/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 "/var/lib/readthedocs/repo/user_builds/some_doc/envs/latest/lib/python3.6/site-packages/pip/_internal/__init__.py", line 40, in <module>
from pip._internal.cli.autocompletion import autocomplete
File "/var/lib/readthedocs/repo/user_builds/some_doc/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 "/var/lib/readthedocs/repo/user_builds/some_doc/envs/latest/lib/python3.6/site-packages/pip/_internal/cli/main_parser.py", line 11, in <module>
from pip._internal.commands import (
File "/var/lib/readthedocs/repo/user_builds/some_doc/envs/latest/lib/python3.6/site-packages/pip/_internal/commands/__init__.py", line 9, in <module>
from pip._internal.commands.download import DownloadCommand
File "/var/lib/readthedocs/repo/user_builds/some_doc/envs/latest/lib/python3.6/site-packages/pip/_internal/commands/download.py", line 10, in <module>
from pip._internal.operations.prepare import RequirementPreparer
File "/var/lib/readthedocs/repo/user_builds/some_doc/envs/latest/lib/python3.6/site-packages/pip/_internal/operations/prepare.py", line 9, in <module>
from pip._internal.distributions import (
File "/var/lib/readthedocs/repo/user_builds/some_doc/envs/latest/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'
Hola,
También me he encontrado con el problema.
Sistema operativo: Debian GNU/Linux 10 (Linux 4.19.0-6-amd64)
pipa: 19.3.1
cuenta: 4.7.12
Pitón: 3.7.4
pipa de $
Rastreo (llamadas recientes más última):
Archivo "/home/jiang/anaconda3/bin/pip", línea 7, en
de pip._internal importación principal
Archivo "/home/jiang/anaconda3/lib/python3.7/site-packages/pip/_internal/__init__.py", línea 40, en
desde pip._internal.cli.autocompletion importar autocompletar
Archivo "/home/jiang/anaconda3/lib/python3.7/site-packages/pip/_internal/cli/autocompletion.py", línea 8, en
desde pip._internal.cli.main_parser importar create_main_parser
Archivo "/home/jiang/anaconda3/lib/python3.7/site-packages/pip/_internal/cli/main_parser.py", línea 11, en
desde pip._internal.commands importar (
Archivo "/home/jiang/anaconda3/lib/python3.7/site-packages/pip/_internal/commands/__init__.py", línea 9, en
desde pip._internal.commands.download importar DownloadCommand
Archivo "/home/jiang/anaconda3/lib/python3.7/site-packages/pip/_internal/commands/download.py", línea 10, en
desde pip._internal.operations.prepare import RequirementPreparer
Archivo "/home/jiang/anaconda3/lib/python3.7/site-packages/pip/_internal/operations/prepare.py", línea 9, en
desde pip._internal.distributions import (
Archivo "/home/jiang/anaconda3/lib/python3.7/site-packages/pip/_internal/distributions/__init__.py", línea 1, en
de pip._internal.distributions.source importar SourceDistribution
ImportError: no se puede importar el nombre 'SourceDistribution' desde 'pip._internal.distributions.source' (/home/jiang/anaconda3/lib/python3.7/site-packages/pip/_internal/distributions/source/__init__.py)
Pudimos solucionar el problema en nuestro servidor ReadTheDocs local cambiando el flujo de compilación para usar específicamente la versión 19.2.3 de pip. Ahora ReadTheDocs ejecuta el siguiente comando de compilación, y ya no tenemos problemas de almacenamiento en caché:
/var/lib/readthedocs/repo/user_builds/some_doc/envs/latest/bin/python -m pip install --upgrade --cache-dir /var/lib/readthedocs/repo/user_builds/some_doc/.cache/pip pip==19.2.3
Más específicamente, actualizamos el archivo local python_environment.py para usar una versión pip específica: https://github.com/readthedocs/readthedocs.org/blob/7212d6ff738b24a10fb0f4227d3fbdf69e5cab42/readthedocs/doc_builder/python_environments.py#L322
cmd = pip_install_cmd + ['pip']
cambiado a:
cmd = pip_install_cmd + ['pip==19.2.3']
Sé que mi configuración puede ser diferente a la mayoría, pero el problema por mi parte se debió al directorio PIP sources/
en el entorno virtual (probablemente problemas de almacenamiento en caché de PIP o algo así). Dejame explicar:
Al eliminar el directorio user_builds/project/envs/
para un proyecto y reconstruirlo, funciona, pero solo hasta que vaya a reconstruir con el directorio envs/
presente nuevamente. Pasé un montón de tiempo depurando cuál era el problema y resultó que era el directorio user_builds/project/envs/
(o algo dentro) que causaba problemas. Así que hice más pruebas para descubrir que era el directorio user_builds/project/envs/latest/lib/python3.6/site-packages/pip/_internal/distributions/source/
causaba problemas específicamente. Eliminé el directorio user_builds/project/envs/latest/lib/python3.6/site-packages/pip/_internal/distributions/source/
, lo reconstruí y todo estuvo bien. Reconstruí de nuevo y falló. Revisé el directorio user_builds/project/envs/latest/lib/python3.6/site-packages/pip/_internal/distributions/
nuevamente y vi que source/
estaba presente. Así que fui a mi instalación global de Python y moví el directorio /path/to/lib/python3.6/dist-packages/pip/_internal/distributions/source/
de PIP, eliminé el directorio user_builds/project/envs/latest/lib/python3.6/site-packages/pip/_internal/distributions/source/
del entorno del proyecto y lo reconstruí. Esto se construyó con éxito y no se copió sobre la carpeta source/
, perfecto. Así que ahora, cada vez que los documentos se compilan, se compilan sin errores. Espero que esto ayude a alguien más.
Salud.
Prueba esto:
1.curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
2.python get-pip.py
@Guru36
Intenté eso muchas veces sin éxito. Tienes que hacer esto al principio de todos modos, así que esto no ayudaría. Gracias de todos modos.
Salud.
Prueba esto:
1.curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
2.python get-pip.py
Gracias
Ahora tengo problemas con esto en la versión 0.20.
Mirando esto ahora amigos. Si alguien pudiera proporcionar instrucciones sobre cómo reproducir con pip 20.0, ¡sería genial!
Me encuentro con el mismo problema:
virtualenv venv
. venv/bin/activate
pip install sqlalchemy pymysql
resultados en
Traceback (most recent call last):
File "/tmp/test/venv/bin/pip", line 11, in <module>
sys.exit(main())
File "/tmp/test/venv/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 "/tmp/test/venv/lib/python3.8/site-packages/pip/_internal/commands/__init__.py", line 96, in create_command
module = importlib.import_module(module_path)
File "/tmp/test/venv/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 "/tmp/test/venv/lib/python3.8/site-packages/pip/_internal/commands/install.py", line 24, in <module>
from pip._internal.cli.req_command import RequirementCommand
File "/tmp/test/venv/lib/python3.8/site-packages/pip/_internal/cli/req_command.py", line 20, in <module>
from pip._internal.operations.prepare import RequirementPreparer
File "/tmp/test/venv/lib/python3.8/site-packages/pip/_internal/operations/prepare.py", line 16, in <module>
from pip._internal.distributions import (
File "/tmp/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' (/tmp/test/venv/lib/python3.8/site-packages/pip/_internal/distributions/source/__init__.py)
Si alguien pudiera proporcionar instrucciones sobre cómo reproducir con pip 20.0,
En resumen, ¡"trata de usar pip"! Los resultados de intentar instalar scipy en un entorno virtual en funcionamiento, que ya tiene instalado scipy (es decir, espero que pip no haga nada):
(farmcat3) [danielevans@rml-dev06 farmcat]$ pip install pip==20.0
Looking in indexes: https://pypi.org/simple, http://phabricator.jbarisk.com:8080
Collecting pip==20.0
Downloading https://files.pythonhosted.org/packages/60/65/16487a7c4e0f95bb3fc89c2e377be331fd496b7a9b08fd3077de7f3ae2cf/pip-20.0-py2.py3-none-any.whl (1.5MB)
|████████████████████████████████| 1.5MB 1.7MB/s
Installing collected packages: pip
Found existing installation: pip 19.3.1
Uninstalling pip-19.3.1:
Successfully uninstalled pip-19.3.1
pipSuccessfully installed pip-20.0
(farmcat3) [danielevans@rml-dev06 farmcat]$ pip install scipy
Traceback (most recent call last):
File "/home/jbanorthwest.co.uk/danielevans/venvs/farmcat3/bin/pip", line 8, in <module>
sys.exit(main())
File "/home/jbanorthwest.co.uk/danielevans/venvs/farmcat3/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/jbanorthwest.co.uk/danielevans/venvs/farmcat3/lib/python3.6/site-packages/pip/_internal/commands/__init__.py", line 96, in create_command
module = importlib.import_module(module_path)
File "/home/jbanorthwest.co.uk/danielevans/venvs/farmcat3/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/jbanorthwest.co.uk/danielevans/venvs/farmcat3/lib/python3.6/site-packages/pip/_internal/commands/install.py", line 24, in <module>
from pip._internal.cli.req_command import RequirementCommand
File "/home/jbanorthwest.co.uk/danielevans/venvs/farmcat3/lib/python3.6/site-packages/pip/_internal/cli/req_command.py", line 20, in <module>
from pip._internal.operations.prepare import RequirementPreparer
File "/home/jbanorthwest.co.uk/danielevans/venvs/farmcat3/lib/python3.6/site-packages/pip/_internal/operations/prepare.py", line 16, in <module>
from pip._internal.distributions import (
File "/home/jbanorthwest.co.uk/danielevans/venvs/farmcat3/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'
El truco de curl get-pip.py
no funcionó para mí, pero lo resolví buscando diferencias entre mi venv y el "código oficial" instalado en el sistema. (Estoy en un grupo, _so hic sunt leones_...)
--- /usr/lib/python2.7/site-packages/pip/_internal/distributions/__init__.py 2019-10-28 08:47:20.727522000 +0100
+++ /home/dummyuser/ml/lib/python3.6/site-packages/pip/_internal/distributions/__init__.py 2020-01-21 12:55:48.000000000 +0100
@@ -1,4 +1,4 @@
-desde pip._internal.distributions.source.legacy import SourceDistribution
+de pip._internal.distributions.source importar SourceDistribution
de pip._internal.distributions.wheel importar WheelDistribution
desde pip._internal.utils.typing importar MYPY_CHECK_RUNNING
Mudarme a python -m pip
ayudó en mi situación. De https://github.com/ome/jenkins-library-recursivemerge/pull/4/files
falla:
(cd build && curl -sfL ${buildInfraUrl} | tar -zxf -)
virtualenv build/venv && build/venv/bin/pip install ${sccPackage}
Pases:
python -m venv build/venv
. build/venv/bin/activate
python -m pip install ${sccPackage}
@pradyunsg , en Fedora 29 puedo reproducir así:
rm -rf ~/.local/lib/python3.7
sudo dnf install python3-pip
pip3.7 install -U --user pip
python3.7 -m pip install requests
''
Rastreo (llamadas recientes más última):
Archivo "/usr/lib64/python3.7/runpy.py", línea 193, en _run_module_as_main
"__principal__", mod_spec)
Archivo "/usr/lib64/python3.7/runpy.py", línea 85, en _run_code
exec(código, run_globals)
Archivo "/home/kaiant/.local/lib/python3.7/site-packages/pip/__main__.py", línea 19, en
sys.exit(_main())
Archivo "/home/kaiant/.local/lib/python3.7/site-packages/pip/_internal/cli/main.py", línea 73, en main
comando = crear_comando(cmd_name, aislado=("--aislado" en cmd_args))
Archivo "/home/kaiant/.local/lib/python3.7/site-packages/pip/_internal/commands/__init__.py", línea 96, en create_command
módulo = importlib.import_module(module_path)
Archivo "/usr/lib64/python3.7/importlib/__init__.py", línea 127, en import_module
return _bootstrap._gcd_import(nombre[nivel:], paquete, nivel)
Archivo "
Archivo "
Archivo "
Archivo "
Archivo "
Archivo "
Archivo "/home/kaiant/.local/lib/python3.7/site-packages/pip/_internal/commands/install.py", línea 24, en
desde pip._internal.cli.req_command import RequirementCommand
Archivo "/home/kaiant/.local/lib/python3.7/site-packages/pip/_internal/cli/req_command.py", línea 20, en
desde pip._internal.operations.prepare import RequirementPreparer
Archivo "/home/kaiant/.local/lib/python3.7/site-packages/pip/_internal/operations/prepare.py", línea 16, en
desde pip._internal.distributions import (
Archivo "/home/kaiant/.local/lib/python3.7/site-packages/pip/_internal/distributions/__init__.py", línea 1, en
de pip._internal.distributions.source importar SourceDistribution
ImportError: no se puede importar el nombre 'SourceDistribution' desde 'pip._internal.distributions.source' (/home/kaiant/.local/lib/python3.7/site-packages/pip/_internal/distributions/source/__init__.py)
Acabo de recibir esto cuando mi implementación actualizó automáticamente pip de 19.3.1 a 20.0
Todo ya está usando python -m pip - ese no es el problema aquí
Puedo decirles que la solución de JediKev es eliminar esta carpeta:
paquetes-sitio/pip/_internal/distributions/source
arregló el problema
También se ve afectado un contexto simple de Python Docker que utiliza el contenedor python:3.7-slim
(basado en Debian):
[32;1m$ docker build --compress -t $REGISTRY_IMAGE_SPARROW .[0;m
#2 [internal] load .dockerignore
#2 transferring context: 493B done
#2 DONE 0.0s
#1 [internal] load build definition from Dockerfile
#1 transferring dockerfile: 1.22kB done
#1 DONE 0.0s
#3 [internal] load metadata for docker.io/library/python:3.7-slim
#3 DONE 0.8s
#4 [base 1/6] FROM docker.io/library/python:3.7-slim<strong i="7">@sha256</strong>:5886bc9424f2edc...
#4 DONE 0.0s
#5 [internal] load build context
#5 transferring context: 531.72kB 0.0s done
#5 DONE 0.0s
#10 [base 6/6] RUN pip install --upgrade pip
#10 CACHED
#8 [base 4/6] RUN ln -s usr/local/bin/docker-entrypoint.sh / # backwards co...
#8 CACHED
#9 [base 5/6] WORKDIR /app
#9 CACHED
#6 [base 2/6] COPY docker-entrypoint.sh /usr/local/bin/
#6 CACHED
#7 [base 3/6] RUN chmod +x /usr/local/bin/docker-entrypoint.sh
#7 CACHED
#11 [requirements 1/2] COPY requirements.txt requirements.txt
#11 CACHED
#12 [requirements 2/2] RUN pip install --no-cache-dir -r requirements.txt
#12 0.912 Traceback (most recent call last):
#12 0.912 File "/usr/local/bin/pip", line 8, in <module>
#12 0.912 sys.exit(main())
#12 0.912 File "/usr/local/lib/python3.7/site-packages/pip/_internal/cli/main.py", line 73, in main
#12 0.912 command = create_command(cmd_name, isolated=("--isolated" in cmd_args))
#12 0.912 File "/usr/local/lib/python3.7/site-packages/pip/_internal/commands/__init__.py", line 96, in create_command
#12 0.912 module = importlib.import_module(module_path)
#12 0.912 File "/usr/local/lib/python3.7/importlib/__init__.py", line 127, in import_module
#12 0.912 return _bootstrap._gcd_import(name[level:], package, level)
#12 0.912 File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
#12 0.912 File "<frozen importlib._bootstrap>", line 983, in _find_and_load
#12 0.912 File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
#12 0.912 File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
#12 0.913 File "<frozen importlib._bootstrap_external>", line 728, in exec_module
#12 0.913 File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
#12 0.913 File "/usr/local/lib/python3.7/site-packages/pip/_internal/commands/install.py", line 24, in <module>
#12 0.913 from pip._internal.cli.req_command import RequirementCommand
#12 0.913 File "/usr/local/lib/python3.7/site-packages/pip/_internal/cli/req_command.py", line 20, in <module>
#12 0.913 from pip._internal.operations.prepare import RequirementPreparer
#12 0.913 File "/usr/local/lib/python3.7/site-packages/pip/_internal/operations/prepare.py", line 16, in <module>
#12 0.913 from pip._internal.distributions import (
#12 0.913 File "/usr/local/lib/python3.7/site-packages/pip/_internal/distributions/__init__.py", line 1, in <module>
#12 0.913 from pip._internal.distributions.source import SourceDistribution
#12 0.913 ImportError: cannot import name 'SourceDistribution' from 'pip._internal.distributions.source' (/usr/local/lib/python3.7/site-packages/pip/_internal/distributions/source/__init__.py)
#12 ERROR: executor failed running [/bin/sh -c pip install --no-cache-dir -r requirements.txt]: runc did not terminate sucessfully
------
> [requirements 2/2] RUN pip install --no-cache-dir -r requirements.txt:
------
failed to solve with frontend dockerfile.v0: failed to build LLB: executor failed running [/bin/sh -c pip install --no-cache-dir -r requirements.txt]: runc did not terminate sucessfully
Obtuve lo mismo en python:3.7.6-alpine
ejecutándose en acciones de github
Puedo reproducir este error en un Dockerfile
:
FROM python:3.7
COPY requirements.txt .
RUN pip install --upgrade pip
RUN pip install -r requirements.txt
CMD pip --version
Y en requirements.txst
:
Cuando construyo esta imagen, aparece este desagradable error. Si elimino la línea que actualiza pip, la imagen se construye.
De acuerdo, he reproducido esto localmente. Presentaré un PR con una solución pronto.
¡Eliminar la carpeta ./site-packages/pip/_internal/distributions/source ayuda!
Sí, pip versión 20.0 se rompe
Sí, tengo el mismo problema aquí (pip 20.0).
Sí, pip 20.0 se rompe, usando "virtualenv". comando para crear venv
Lo mismo aquí, todas nuestras compilaciones de CI que actualizan pip están fallando.
Todas las compilaciones están rotas debido al mismo error de nuestra parte también.
Las construcciones se rompieron
¿Qué pasa si vuelvo a pip 19.x? ¿Funcionaría?
EDITAR:
pip install --upgrade "pip==19.3.1"
todavía funciona.
Lo mismo aquí con python 3.7.3 y pip 20.0
pip install pip"<20.0"
solución temporal pero funciona.
tal vez sea posible crear una versión virtualenv
configurando pip
a 19.3.1 (la anterior)
Una solución rápida que está funcionando es
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.pypython get-pip.py pip==9.0.2
Guardó nuestra canalización de CI
Read The Docs también está plagado de este problema ahora, lo que hace que la creación de documentos falle constantemente
tal vez sea posible crear una versión de pip de configuración virtualenv a 19.3.1 (la anterior)
@manutero, el --no-download
bandera de la virtualenv
comando evitar tratar de descargar la última versión de pip
en el momento de la creación del entorno.
Si usa virtualenv, simplemente cambie a 19.x. Esto resolvió el problema en mi virtualenv:
virtualenv --no-pip <ENV NAME>
# activate the virtual environment
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py pip==19.2.2
Tuve que seleccionar la versión anterior para resolver,
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py pip=19.3.1
Lo mismo aquí con python 3.7.6 y pip 20.0
pip versión-20.0
versión de Python - 3.6
Simplemente escriba debajo de las líneas en el archivo
desde .legacy import SourceDistribution
¿Pueden otras personas que vean este error confirmar que hay una fuente/carpeta en pip/_internal/distributions?
Si puede confirmar que esa carpeta existe, no haga comentarios aquí; use la reacción 👍 en esta publicación. Esa carpeta no existe, usa la reacción 👎.
mismo problema aquí con ubuntu 19.04
Successfully installed pip-20.0
Traceback (most recent call last):
File "/home/pippo/.venvs/test_pgm/bin/pip", line 10, in <module>
sys.exit(main())
File "/home/pippo/.venvs/test_pgm/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/pippo/.venvs/test_pgm/lib/python3.7/site-packages/pip/_internal/commands/__init__.py", line 96, in create_command
module = importlib.import_module(module_path)
File "/usr/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/pippo/.venvs/test_pgm/lib/python3.7/site-packages/pip/_internal/commands/install.py", line 24, in <module>
from pip._internal.cli.req_command import RequirementCommand
File "/home/pippo/.venvs/test_pgm/lib/python3.7/site-packages/pip/_internal/cli/req_command.py", line 20, in <module>
from pip._internal.operations.prepare import RequirementPreparer
File "/home/pippo/.venvs/test_pgm/lib/python3.7/site-packages/pip/_internal/operations/prepare.py", line 16, in <module>
from pip._internal.distributions import (
File "/home/pippo/.venvs/test_pgm/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/pippo/.venvs/test_pgm/lib/python3.7/site-packages/pip/_internal/distributions/source/__init__.py)
No aparece con pip==19.2.3 así que por ahora lo revertí
Por favor, deja de denunciar "yo también". @pradyunsg está trabajando en una solución en este momento
Sí. golpear esto ahora funcionó ayer.
fragmento para usuarios de pipenv
wget https://bootstrap.pypa.io/get-pip.py -O get-pip.py
pipenv run python get-pip.py pip==19.3
Para una solución rápida,
$(which easy_install) pip==19.3
también funciona bien
Para una solución rápida,
$(which easy_install) pip==19.3
también funciona bien
Entre todas las soluciones temporales, solo esta funcionó para mí
Me pregunto qué pasará cuando eliminen easy_install... :) - ¿Cómo vamos a solucionar los problemas de pip entonces?
Reemplazando pip install --upgrade pip
con pip install --upgrade pip"<20.0"
trabajando aquí.
Tuve que seleccionar la versión anterior para resolver,
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py pip=19.3.1
Debería ser python3 get-pip.py pip==19.3.1
Reemplazando
pip install --upgrade pip
conpip install --upgrade pip"<20.0"
trabajando aquí.
ayudame en docker
EJECUTAR pip install --upgrade pip"<20.0"
¡Gracias @PabloCastellano! Solo estoy ignorando los comentarios aquí ahora, ya que no quiero que mi ritmo cardíaco suba más. :)
Hizo el lanzamiento de corrección de errores. Si eso ayudó, use 👍 en esta publicación. De lo contrario, escriba un comentario con el mensaje de error.
XD
No quiero que mi ritmo cardíaco suba más. :)
Hizo el lanzamiento de corrección de errores.
@pradyunsg Acabas de bajar el mío. Parece funcionar.
@SergeyLadutko :
Reemplazando
pip install --upgrade pip
conpip install --upgrade pip"<20.0"
trabajando aquí.ayudame en docker
EJECUTAR pip install --upgrade pip"<20.0"
prueba pip install --upgrade pip==19.3.1
ok déjame ejecutar mi compilación de nuevo
@pradyunsg Me quito el sombrero por la solución rápida, realmente lo apreciamos <3 Puedo confirmar que esta solución se ha afianzado en los trabajos de CircleCI, para cualquiera que se lo pregunte.
Tenga en cuenta que get-pip.py aún no se ha actualizado; eso se debe a que, bueno, borré mi propio entorno de desarrollo para get-pip cuando probé esto. :)
Lo actualizaré en los próximos minutos.
Puede confirmar. pip==20.0.1
funciona bien
@pradyunsg ¿ alguna mejora de CI para que no suceda en el futuro? Un contenedor docker sería suficiente. ¿Aceptarías relaciones públicas por esto?
Tenga en cuenta que get-pip.py aún no se ha actualizado; eso se debe a que, bueno, borré mi propio entorno de desarrollo para get-pip cuando probé esto. :)
Lo actualizaré en los próximos minutos.
:) háganos saber cuándo estará listo para comenzar
Lo actualizaré en los próximos minutos.
Muy bien, empujó esto ahora. El cambio ya debería haberse propagado a bootstrap.pypa.io. O lo hará muy pronto.
Nuestra compilación ahora pasó con get-pip.py gracias @pradyunsg
pip 20.0.1 funcionando correctamente. Gracias @pradyunsg
Puedo confirmar que el nuevo pip
se instala ahora y ya no sufre este error. Gracias @pradyunsg !
Gracias @pradyunsg !!
gracias @pradyunsg ! muchisísimo
¡gracias @pradyunsg por la solución rápida! 🎉
¡Gracias @pradyunsg por la respuesta rápida!
Creo que el problema se creó porque hay un directorio de módulos source
y source.py
en la ruta pip/_internal/distributions
y eso estropea las importaciones.
En pip/_internal/distributions/__init__.py
tiene una línea de importación:
from pip._internal.distributions.source import SourceDistribution # <-- here
from pip._internal.distributions.wheel import WheelDistribution
from pip._internal.utils.typing import MYPY_CHECK_RUNNING
Pero también hay un directorio source
con __init__.py
dentro,
env ~/.../_internal/distributions ls -ltr
total 32
-rw-r--r-- 1 user xxx 1294 Jan 21 18:02 wheel.py
-rw-r--r-- 1 user xxx 760 Jan 21 18:02 installed.py
-rw-r--r-- 1 user xxx 1425 Jan 21 18:02 base.py
drwxr-xr-x 3 user xxx 4096 Jan 21 18:02 source
-rw-r--r-- 1 user xxx 4201 Jan 21 18:19 source.py
-rw-r--r-- 1 user xxx 961 Jan 21 18:26 __init__.py
drwxr-xr-x 2 user xxx 4096 Jan 21 18:26 __pycache__
Por lo tanto, esa importación fallará. Cambiar el nombre de source.py
a _source.py
y cambiar la importación en __init__.py
a from pip._internal.distributions._source import SourceDistribution
parece solucionarlo
@pradyunsg Me quito el sombrero por la solución rápida, realmente lo apreciamos <3
De acuerdo, ¡un cambio fantástico en la solución aquí!
Gracias @pradyunsg
Mismo error que el anterior.
Versión de Python: Python-3.7.6
SO: Windows
Funciona después de pasar a PIP 19.3.1
Funciona muy bien ahora, gracias.
Teniendo en cuenta la naturaleza de este error, ¿puede eliminar la versión 20.0 de PYPA? https://pypi.org/project/pip/#history
Otra pregunta sería qué podríamos hacer para evitar una regresión similar en el futuro.
¡Lo siento a todos por la rotura y gracias por trabajar con nosotros aquí para arreglar esta rotura!
@xavfernandez descubrió por qué sucedió esto y realizaremos cambios en nuestro proceso de lanzamiento para evitar fallas similares en el futuro: #7624
¡Gran trabajo, gracias por el cambio tan rápido como un rayo!
Hola, estoy atascado en 20.0
Todos los comandos que probé devuelven este error sobre 'SourceDistribution'.
pip install --upgrade pip
pip install pip "<20.0"
pip install --upgrade "pip==19.3.1"
Me cansé de desinstalar también:
pip uninstall pip
python -m pip uninstall pip setuptools
¿Alguien tiene otra solución para desinstalar pip?
Ubuntu 18.04.3 LTS
Pitón 3.6.9
ejecutar en virtualenv
¡Hola @CharrierCoop! Debería poder descargar get-pip.py e instalar pip 20.0.1 usando eso.
Perfecto !!
gracias @pradyunsg
¿Puedes eliminar la versión 20.0 de PYPA?
No. No lo vamos a borrar. Tenemos una función respaldada por estándar para "tirar" de lanzamientos rotos. Una vez que PyPI agregue soporte para eso, retiraremos esta versión (si a alguien le importa para entonces).
Consulte https://www.python.org/dev/peps/pep-0592/#motivation para obtener más detalles.
sudo python get-pip.py pip==19.3.1"
solucionar este problema
sudo python get-pip.py pip==19.3.1"
solucionar este problema
Muchísimas gracias
sudo python get-pip.py pip==19.3.1"
solucionar este problema
No es necesario que @pradyunsg solucione este problema
¡Hola @CharrierCoop! Debería poder descargar get-pip.py e instalar pip 20.0.1 usando eso.
Intenté hacer lo mismo en Raspberry Pi 4 (Python 3.7.3, versión pip - 20.0 y OS - Raspbian Buster Lite), pero no tuve éxito.
ERROR: No se pudo encontrar una versión que cumpla con el requisito pi p
ERROR: No se encontró una distribución coincidente para pip
¿Alguna solución?
@Gilf641 Presente un nuevo problema; será más fácil de administrar para los mantenedores.
Seguiré adelante y cerraré este problema ahora, ya que parece que las cosas funcionan para la mayoría de los usuarios.
Si aún tiene problemas, busque duplicados presentados anteriormente (desde el 21 de enero, para pip 20.0) y, si no hay ninguno, presente un nuevo problema.
Comentario más útil
¡Gracias @PabloCastellano! Solo estoy ignorando los comentarios aquí ahora, ya que no quiero que mi ritmo cardíaco suba más. :)
Hizo el lanzamiento de corrección de errores. Si eso ayudó, use 👍 en esta publicación. De lo contrario, escriba un comentario con el mensaje de error.