Pipenv: Problema de seguimiento de la versión de abril (y luego mayo) de 2020

Creado en 10 dic. 2018  ·  72Comentarios  ·  Fuente: pypa/pipenv

Este es un problema de seguimiento interno que se vinculará con los problemas relacionados que se abordarán/aún deben actualizarse con el fin de eliminar el lanzamiento. Ha tardado mucho en llegar (consulte https://github.com/pypa/pipenv/issues/4058#issuecomment-565550646 y https://github.com/pypa/pipenv/issues/3742#issuecomment-492100711 para conocer algunos comentarios sobre eso) y hay un objetivo tentativo de obtener un prelanzamiento en marzo de 2020.

(Editado por @brainwane para decir: corregir algunas fallas en la configuración de integración continua está retrasando esta versión 2020.04.1a1 hasta, nueva estimación, 21 de abril de 2020).

(Editado por @brainwane para decir: el prelanzamiento 2020.4.1b1 ya está disponible, a partir del 29 de abril, y Dan tiene como objetivo sacar el próximo lanzamiento en aproximadamente una semana).

(Editado por @brainwane en conversación con Dan el 5 de marzo de 2020 y luego durante marzo y abril)

  • [x] Otros artículos en el hito de lanzamiento de marzo de 2020 :

    • [x] #3613 Pipenv instala paquetes incorrectos (ignorando el bloqueo del paquete)

    • [x] #4137 Actualice README y lea el proyecto Docs para apuntar a documentos en pipenv.pypa.io

  • [x] [Reparar fallas de prueba pip-shims ](https://github.com/sarugaku/pip-shims/issues/58) (combinar la rama bugfix/56 )
  • [x] requirementslib arreglos:

    • [x] sarugaku/requirementslib#204 requirementslib problema El análisis AST de setup.py falla en el tipo de no suma binOps

    • [x] sarugaku/requirementslib#205 El análisis AST falla en archivos setup.py que no son utf8

    • [x] sarugaku/requirementslib/issues/214 No deberíamos instalar versiones mejoradas de dependencias de prueba en CI

    • [x] calculadora sarugaku/requirementslib#219 Agregar calculadora de requisitos para artefactos en PyPI

    • [x] Revise los problemas requirements-lib para otros bloqueadores de liberación de pipenv

  • [x] Hacer nuevos lanzamientos de bibliotecas relacionadas:

    • [x] [requisitoslib](https://pypi.org/project/requirementslib/)

    • [x] [pip-shims](https://pypi.org/project/pip-shims/)

    • [x] [buscador de python](https://pypi.org/project/buscadordepython/)

  • [x] Terminar, aprobar y fusionar #4169 para abordar las dependencias/importaciones faltantes

    • [x] Corregir entrada/entradas de noticias

    • [x] Arreglar la configuración de CI rota

    • [x] Obtener exámenes para aprobar

  • [x] Solucione el n.º 4188 haciendo que la clave API de pyup vuelva a funcionar o eligiendo e implementando una alternativa
  • [x] Obtener pruebas de GitHub para pasar al maestro (saltando la prueba mencionada en #4201)
  • [x] Mejorar la automatización de lanzamientos para permitir la generación de versiones preliminares

    • [x] Generar registro de cambios en modo borrador

    • [x] No etiquetar automáticamente y enviar la etiqueta al repositorio

  • [x] Actualice y ejecute "Prueba localmente" y "Carga de la versión" para la lista de verificación de empaquetado/versión
  • [x] Empaquete y cargue la versión preliminar de pipenv 2020.04.1a1 a PyPI

Eso es lo que Dan pretende hacer antes del 21 de abril de 2020. Luego:

  • [x] Realice otra nueva versión de requirementslib que incorpore una solución a https://github.com/sarugaku/requirementslib/issues/216

    • [x] Vuelva a bloquear las dependencias de requirementslib

  • [x] Publicitar el prelanzamiento y solicitar una semana de prueba

    • [x] Especialmente probando en Windows contra backends PEP 517 e involucrando virtualenvs

  • [x] Después de ~ 1 semana (si no hay errores sensacionales), publique una nueva versión

Cómo otros pueden ayudar:

Comentario más útil

^ El lanzamiento está listo, ¡gracias a todos los que ayudaron con las pruebas!

Todos 72 comentarios

Este parece ser un buen lugar para preguntar cuándo podría ser el próximo lanzamiento, cuáles son los bloqueadores y si hay algo que alguien pueda hacer para ayudar.

Mi equipo está ansioso por la próxima actualización, específicamente por la dirección #3298. ¿Todavía quedan grandes bloqueadores?

Me di cuenta de https://github.com/pypa/packaging.python.org/issues/701 hoy y doné alrededor de 90 minutos de tiempo para ayudar a @techalchemy a obtener más claridad sobre lo que le impide hacer el nuevo lanzamiento ( conversación de IRC )) . https://github.com/pypa/pipenv/issues/3369#issue -389160510 ahora tiene una lista de verificación de lanzamiento. @techalchemy podría necesitar ayuda con esos bloqueadores de liberación, en caso de que @JBKahn o cualquier otra persona quiera ayudar.

@techalchemy : al observar los problemas vinculados aquí, muchos de ellos están solucionados. Creo que sería bueno marcar las casillas de los problemas que se han solucionado, para que las personas puedan ver que hay progreso con solo mirar la primera publicación de este hilo (:

@brainwane , @techalchemy , disculpe mi interferencia y mi posible ignorancia, pero ¿puedo sugerir quitar el #2227 y/o el #3520 de este lanzamiento? Mi impresión es que liberar más o menos cualquier cosa es esencial y beneficioso. #2227 parece una característica nueva, mientras que #3520 tiene una solución alternativa descrita (sin objeciones por parte del reportero).

Del mismo modo, ¿es estrictamente necesario "hacer nuevos lanzamientos de bibliotecas relacionadas" antes de sacar el próximo pipenv? Mientras buscaba en el #3613, encontré que la rama maestra actual simplemente funcionaba...

No estoy sugiriendo que estos problemas no sean importantes, solo que no deberían bloquear las mejoras que ya están en el maestro para que no lleguen a las personas.

marzo ya casi termina

Parece que https://github.com/pypa/pipenv/issues/3520 está arreglado en el maestro actual, https://github.com/pypa/pipenv/issues/2227 no parece una solución crítica para una actualización .

¿Hay algo que bloquee donde la comunidad puede ser útil? Estoy feliz de darte mi mano. De lo contrario, solo veo actualizaciones de lanzamiento y actualizaciones de documentos.

@Froskekongen @amhrasmussen @fridex ¡ gracias por los consejos! Ayer doné un poco más de tiempo y @techalchemy y yo trabajamos en algunos elementos más relevantes de la lista .

Al observar los problemas vinculados aquí, muchos de ellos están solucionados. Creo que sería bueno marcar las casillas de los problemas que se han solucionado, para que las personas puedan ver que hay progreso con solo mirar la primera publicación de este hilo (:

¡Gracias! Varios más están comprobados ahora. :-)

Parece que #3520 está arreglado en el maestro actual

¿Podrías decir eso en un comentario sobre #3520? Gracias.

2227 no parece una solución crítica para una actualización.

@brainwane , @techalchemy , disculpe mi interferencia y mi posible ignorancia, pero ¿puedo sugerir quitar el #2227 y/o el #3520 de este lanzamiento? Mi impresión es que liberar más o menos cualquier cosa es esencial y beneficioso. #2227 parece una característica nueva, mientras que #3520 tiene una solución alternativa descrita (sin objeciones por parte del reportero).

Gracias. Dan estuvo de acuerdo contigo y eliminamos #2227 como bloqueador en este lanzamiento. Si pudiera ayudar con #3520 confirmando que la solución funciona y comentando allí, sería genial.

Del mismo modo, ¿es estrictamente necesario "hacer nuevos lanzamientos de bibliotecas relacionadas" antes de sacar el próximo pipenv? Mientras buscaba en el #3613, encontré que la rama maestra actual simplemente funcionaba...

No estoy sugiriendo que estos problemas no sean importantes, solo que no deberían bloquear las mejoras que ya están en el maestro para que no lleguen a las personas.

Tal como lo entiendo, esas bibliotecas son importantes para la funcionalidad de pipenv, así como para probar correctamente pipenv para garantizar que la versión funcione en las combinaciones de SO/entorno compatibles. Podría estar equivocado, pero Dan dijo "a decir verdad, la mayor parte del trabajo se realiza en las bibliotecas auxiliares en estos días".

¿Hay algo que bloquee donde la comunidad puede ser útil? Estoy feliz de darte mi mano. De lo contrario, solo veo actualizaciones de lanzamiento y actualizaciones de documentos.

Ayúdenos respondiendo a las preguntas de los nuevos usuarios en los problemas de GitHub de pipenv ; de esa manera, Dan no tiene que preocuparse por responderlas y puede concentrarse en este lanzamiento.

¡Cada vez más cerca de un lanzamiento!

Nuevo correo electrónico de actualización de @techalchemy en distutils-sig (reflejado en la lista pypa-dev ). Incluye algunas formas en que puede ayudar.

@AEHamrick Vi su comentario https://github.com/pypa/pipenv/issues/3742#issuecomment -498312920 -- Eché un vistazo rápido a #3382 y #3757, y parece que ya están corregidos en maestro. ¿Está bien? Si aún no se corrigieron en el maestro, indíquelo en un comentario aquí, para que podamos considerar agregarlos al hito de lanzamiento. ¡Gracias!

@brainwane Oye, te agradezco que te registres. Sinceramente, comencé a usar Poetry hace bastante tiempo debido a la falta de actividad aquí, pero si puedo encontrar tiempo, configuraré un entorno de prueba y veré si las situaciones que estaba enfrentando. esos errores parecen estar bien ahora.

Lo entiendo totalmente, @AEHamrick , gracias.

Ayer doné algo más de tiempo para ayudar a @techalchemy a avanzar más. Dan hizo nuevos lanzamientos de pythonfinder y requirementslib, y avanzó en la fusión de la rama de actualización de proveedores para abordar las dependencias/importaciones faltantes. Todavía está trabajando en eso hoy ("algunas pruebas fallaron, pero no demasiadas, 17/230 más o menos" a partir de hoy).

Después de que los mantenedores de Pipenv publiquen una versión preliminar, algunas pruebas manuales de los usuarios los ayudarán a sentirse seguros de impulsar la versión canónica. Sugiero: puede ayudar a desarrollar una lista de "Flujos de trabajo de Pipenv para probar" , en este sentido .

Además, cualquiera que esté siguiendo este problema, considere retuitear este tuit sobre el estado actual y cómo las personas pueden ayudar.

visitir ya está actualizado; eliminó eso del lanzamiento TODO.

Y @techalchemy ha comenzado una guía de instrucciones del proceso de lanzamiento de Pipenv : si hay pasos que deberían estar allí y no lo están, comente aquí o agregue algunos puntos en ese documento.

Dan está más cerca de poder fusionar la rama feature/vendor-update :

1 failed, 231 passed, 21 skipped in 442.72 seconds

Dan consiguió que las pruebas pasaran localmente y ahora ha realizado la solicitud de extracción n.º 4169 y se está asegurando de que pasen las pruebas; en este momento están funcionando muy lentamente y, a veces, fallan. Así que está trabajando en eso en este momento, específicamente, tratando de hacer que funcione la sintaxis de Azure. Dependiendo de cuánto pueda acelerar algunas de esas pruebas, y si fallan, y si tiene que perseguir fallas intermitentes, ¡es posible que pueda hacer un prelanzamiento hoy! O podría ser dentro de unos días.

La gente ha preguntado cómo pueden ayudar. En los próximos días o semanas, @techalchemy puede necesitar ayuda especial para probar la nueva versión preliminar en Windows. Use la reacción de emoji :eyes: a este comentario si está dispuesto a ayudar a probar en Windows.

Y si sabe mucho sobre las plantillas de canalizaciones de Azure, considere ingresar al canal IRC y ayudar hoy o mañana.

Consulte https://github.com/pypa/pipenv/pull/4169#issuecomment -607348834 para obtener una actualización sobre el progreso de relaciones públicas.

Dan continúa progresando para lograr que las pruebas pasen (como señalan los comentarios en el n.° 4169, las pruebas comenzaron a fallar hace unos meses, por lo que no solo está lidiando con este PR, sino también con la deuda técnica atrasada aquí). Cambié el título del problema para reflejar la realidad.

Consulte https://github.com/pypa/pipenv/pull/4169#issuecomment -610017500 para obtener una feliz actualización sobre el progreso de las relaciones públicas.

Si puede ayudar a descubrir fallas en las pruebas de Windows en Azure, eche un vistazo al n.º 4169 y comente.

Cómo otros pueden ayudar:

¡Gracias a las personas que contribuyeron con su experiencia en pruebas de Windows y Azure en el n.º 4169!

Dan acaba de fusionar #4169 y está determinando si otras solicitudes de extracción también deben fusionarse antes de poder hacer una nueva versión preliminar. Una vez que @techalchemy haga ese prelanzamiento, pedirá ayuda para probarlo.

Hay un número separado, #4130, para elaborar planes a más largo plazo para mejorar la hoja de ruta y los procesos de contribuyentes y mantenedores.

El nuevo problema #4188 necesita una solución urgente, ya que está rompiendo las instalaciones existentes, por lo que Dan está trabajando en eso primero. Actualicé la lista de verificación al comienzo de este problema en consecuencia.

@techalchemy no tiene la intención de analizar más a fondo los problemas existentes para buscar bloqueadores de lanzamiento; después de publicar la versión preliminar y reclutar evaluadores, analizará los problemas para ver si alguno de ellos debería bloquear el nuevo lanzamiento.

Ahora que él y otros desarrolladores de pipenv han resuelto el problema de las pruebas de Windows (en el n.° 4169 y otras relaciones públicas) y que Dan se encuentra en medio del direccionamiento del n.° 4188 (gracias a la gente de PyUp por una llamada de ayer), le gustaría tener una versión preliminar. de pipenv este fin de semana o el lunes. El número de versión está programado tentativamente para ser 2020.04.1a1. Luego estaremos reclutando probadores para aproximadamente una semana de pruebas manuales .

Todavía no he podido solucionarlo, pero tiene al menos una prueba que no es segura en paralelo. Las pruebas se ejecutan con pytest -n 3 en .azure-pipelines/steps/run-tests-windows.yml pero esto provocará fallas aleatorias como la prueba de borrado de caché test_pipenv_clear en tests\integration\test_cli.py .

Probablemente todas las pruebas de cli comparten rutas de caché y no deben ejecutarse en paralelo o hacer que cada PipEnvInstance use una ruta raíz/inicio separada.

Ver también dos ejecuciones del mismo código:
https://github.com/bneijt/pipenv/runs/596610863?check_suite_focus=true
https://github.com/bneijt/pipenv/runs/596726284?check_suite_focus=true

Cualquiera de los siguientes podría ayudar, pero soy nuevo en el proyecto, así que no estoy seguro de qué hacer todavía:

  • Configure un PR para compilaciones programadas en lugar de solo en extracción, esto le dará más información sobre si las compilaciones fallan sin cambios
  • Deshabilitar pruebas paralelas para la suite cli
  • Asegúrese de que PipenvInstance configure una ruta de caché única para cada instancia.
  • Crea un tema y déjalo para otro momento

Por favor avise.

Solo una nota rápida para agradecer a todos los que apoyaron el lanzamiento de pipenv. Es muy apreciado. pipenv debería ser la herramienta de acceso, particularmente para los novatos de Python en mi opinión, ya que abstrae muchas de las molestias de virtualenv con las que un novato no debería tener que preocuparse al principio. ¡Buena cosa!

Hola a todos, solo me registré: encontré un inconveniente menor con una rotura en una versión dependiente y algunos problemas azules más. Todo verde a partir de esta noche, así que estaré prelanzando mañana :) ¡Gracias por su paciencia!

Como otra breve actualización, he publicado una compilación en https://test.pypi.org por el momento para cualquiera que esté ansioso por obtener una copia; se puede instalar a través pip install --index-url=https://test.pypi.org pipenv . Todavía no he validado nada sobre esta compilación, pero necesitaba publicar algo para reclamar la propiedad del nombre en la prueba PyPI :)

El paso final aquí será portar una acción de github para hacer una serie de lanzamientos, primero en la instancia de prueba y luego manejar el lanzamiento real. Así es como administro los lanzamientos en la mayoría de mis otros proyectos ahora, y debería hacer que el proceso sea un poco más fluido, ya que me elimina como un único punto de falla. Gracias de nuevo por su paciencia y avíseme si tiene algún problema.

Gracias @techalchemy! FYI, esto funcionó para mí:

pip install -i https://test.pypi.org/simple/ pipenv

después de hacer un pip uninstall pipenv

¿Existe algún requisito para tener instalada una determinada versión de pip? Pensé que usaba uno suministrado dentro de pipenv, pero aparece este error:

Archivo "C:UsersaaAppDataRoamingPythonPython36site-packagespipenvcore.py", línea 862, en do_install_dependencies
normal_deps, procs, fail_deps_queue, dir_requisitos, install_kwargsArchivo "C:UsersaaAppDataRoamingPythonPython36site-packagespipenvcore.py", línea 776, en batch_installuse_pep517=use_pep517,Archivo "C:UsersaaAppDataRoamingPythonPython36site-packagespipenvcore.py", línea 1484, en pip_installno_deps=no_deps, require_hashes=no ignorar_hashesArchivo "C:UsersaaAppDataRoamingPythonPython36site-packagespipenvcore.py", línea 1341, en get_pip_argssi project.environment.pip_version >= parse_version("19.0"):Archivo "C:UsersaaAppDataRoamingPythonPython36site-packagespipenvproject.py", línea 343, en el entornoself._environment.extend_dists(pipenv_dist)Archivo "C:UsersaaAppDataRoamingPythonPython36site-packagespipenvenvironment.py", línea 102, en extend_distsextras = self.resolve_dist(dist, self.base_working_set)Archivo "C:UsersaaAppDataRoamingPythonPython36site-packagespipenvenvironment.py", línea 97, en resolve_distdist = conjunto_de_trabajo.find(requerido)Archivo "C:UsersaaAppDataRoamingPythonPython36site-packagespkg_resources__init__.py", línea 644, en findaumentar VersionConflict(dist, req)pkg_resources.VersionConflict: ( pip 9.0.1 (c:programdataanaconda3libsite-packages), Requirement.parse('pip>=18.0')**)

Estamos ejecutando python 3.6.0, y soy reacio a actualizar nuestra versión global de pip porque eso significaba anteriormente que ya no podíamos ejecutar pip install blah y teníamos que hacer python -m pip install blah .

¡Gracias @techalchemy por el arduo trabajo! Esperando un lanzamiento

se puede instalar a través de pip install --index-url= https://test.pypi.org pipenv.

Rápidamente probé esto en un entorno virtual y obtuve lo siguiente:

> pip install -i https://test.pypi.org/simple/ pipenv
Looking in indexes: https://test.pypi.org/simple/
Collecting pipenv
  Downloading https://test-files.pythonhosted.org/packages/d7/0d/aa8ee85ece59f7ee27282a6a39ec1d061560d76b27a5c40a4b478473a5dd/pipenv-2020.4.1a1-py2.py3-none-any.whl (3.8 MB)
     |████████████████████████████████| 3.8 MB 1.7 MB/s 
Requirement already satisfied: pip>=18.0 in ./.venc/lib/python3.6/site-packages (from pipenv) (20.0.2)
Requirement already satisfied: setuptools>=36.2.1 in ./.venc/lib/python3.6/site-packages (from pipenv) (46.1.3)
Collecting certifi
  Downloading https://test-files.pythonhosted.org/packages/0e/67/0383b38ee00ffa9f93348998d0b474c1f5aa4a4ff562957294f1477a47b5/certifi-2016.8.8-py2.py3-none-any.whl (384 kB)
     |████████████████████████████████| 384 kB 4.1 MB/s 
ERROR: Could not find a version that satisfies the requirement virtualenv-clone>=0.2.5 (from pipenv) (from versions: none)
ERROR: No matching distribution found for virtualenv-clone>=0.2.5 (from pipenv)

Supongo que esto se debe a que virtualenv-clone no está disponible en test.pypi.org; instalar virtualenv-clone y virtualenv manualmente en el venv fue el truco para mí.

Compartiendo esto en caso de que esto sea útil para otros :)

@JeanFred prueba:

pip uninstall pipenv

y luego vuelva a ejecutar la instalación

Acabo de actualizar mi pipenv actual:

pip install -i https://test.pypi.org/simple/ -U pipenv

¡Funciona de maravilla! ¡Gracias @techalchemy !

@bneijt Presentar un nuevo problema para la descamación de la prueba que encontró sería una buena idea, ya que de lo contrario me temo que la información se perderá en los comentarios de prueba previos al lanzamiento aquí.

disculpas por la falta de seguimiento de este @JeanFred , puedes arreglar esto temporalmente con pip install --index-url https://test.pypi.org/simple --extra-index-url https://pypi.org/simple --pre pipenv

Si puede esperar un poco, enviaré una versión preliminar de PyPI en breve.

disculpas por la falta de seguimiento de este @JeanFred , puedes arreglar esto temporalmente con pip install --index-url https://test.pypi.org/simple --extra-index-url https://pypi.org/simple --pre pipenv

Si puede esperar un poco, enviaré una versión preliminar de PyPI en breve.

Hola @techalchemy , ¡gracias por tu esfuerzo! ¿Fui demasiado rápido?

# pip install --index-url https://test.pypi.org/simple --extra-index-url https://pypi.org/simple --pre pipenv
Looking in indexes: https://test.pypi.org/simple, https://pypi.org/simple
Collecting pipenv
  Downloading https://test-files.pythonhosted.org/packages/d7/0d/aa8ee85ece59f7ee27282a6a39ec1d061560d76b27a5c40a4b478473a5dd/pipenv-2020.4.1a1-py2.py3-none-any.whl (3.8MB)
    100% |████████████████████████████████| 3.8MB 368kB/s 
Requirement already satisfied: setuptools>=36.2.1 in /usr/lib/python3/dist-packages (from pipenv) (40.8.0)
Collecting virtualenv-clone>=0.2.5 (from pipenv)
Could not install packages due to an EnvironmentError: 404 Client Error: Not Found for url: https://test.pypi.org/simple/virtualenv-clone/

Saludos a todos, seguí adelante y impulsé una versión preliminar de pypi regular para que puedan evitar la complejidad de probar pypi. Siéntanse libres de probar pip install --upgrade --pre pipenv y deberían ver la instalación 2020.4.1b1

Enviaré más detalles mañana cuando haya dormido un poco, pero alentaría a cualquiera que desee probar esto un poco a consultar o desarrollar los flujos de trabajo manuales enumerados en este documento .

¡Gracias de nuevo por su paciencia!

¡Esto es emocionante! Gracias a todos los que están trabajando en esto.

Todavía no he leído todo esto, pero he visto una versión alfa e inmediatamente una versión beta. En Fedora, probaremos la versión preliminar, pero necesitamos un par de días y la rápida beta después de la alfa me sorprendió un poco.

@hroncok , el lanzamiento alfa en main pypi fue en gran parte para validar el cambio de automatización de lanzamiento, el lanzamiento beta estará activo durante al menos una semana. No dude en hacerme ping en IRC si necesita más tiempo o si tiene algún problema adicional con el reenvasado

No dude en hacerme ping en IRC si necesita más tiempo o si tiene algún problema adicional con el reenvasado

Lo haré si es necesario. Gracias.

EDITAR: Me cancelé la suscripción aquí, porque sospecho que muchos de los informes de usuarios de "la nueva versión funcionan para mí" aquí.

@techalchemy gracias! ¡Ya se probó en un proyecto y funciona bien!

# pip uninstall -y virtualenv virtualenv-clone pipenv
Uninstalling virtualenv-20.0.18:
  Successfully uninstalled virtualenv-20.0.18
Uninstalling virtualenv-clone-0.5.4:
  Successfully uninstalled virtualenv-clone-0.5.4
Uninstalling pipenv-2020.4.1a1:
  Successfully uninstalled pipenv-2020.4.1a1
# pip install --pre pipenv
Collecting pipenv
  Downloading https://files.pythonhosted.org/packages/c6/ae/de435f1da25056a181cbc3241d747b521f0caf8db0e5ca19400b9f120e7d/pipenv-2020.4.1b1-py2.py3-none-any.whl (3.8MB)
    100% |████████████████████████████████| 3.8MB 391kB/s 
Collecting virtualenv-clone>=0.2.5 (from pipenv)
  Using cached https://files.pythonhosted.org/packages/83/b8/cd931487d250565392c39409117436d910232c8a3ac09ea2fb62a6c47bff/virtualenv_clone-0.5.4-py2.py3-none-any.whl
Requirement already satisfied: setuptools>=36.2.1 in /usr/lib/python3/dist-packages (from pipenv) (40.8.0)
Requirement already satisfied: certifi in /usr/lib/python3/dist-packages (from pipenv) (2018.8.24)
Requirement already satisfied: pip>=18.0 in /usr/lib/python3/dist-packages (from pipenv) (18.1)
Collecting virtualenv (from pipenv)
  Using cached https://files.pythonhosted.org/packages/23/1a/d55f5fb904564365c3d364fd41701a74ad497379f04fd548cccc3f227d98/virtualenv-20.0.18-py2.py3-none-any.whl
Requirement already satisfied: filelock<4,>=3.0.0 in /usr/local/lib/python3.7/dist-packages (from virtualenv->pipenv) (3.0.12)
Requirement already satisfied: distlib<1,>=0.3.0 in /usr/local/lib/python3.7/dist-packages (from virtualenv->pipenv) (0.3.0)
Requirement already satisfied: importlib-metadata<2,>=0.12; python_version < "3.8" in /usr/local/lib/python3.7/dist-packages (from virtualenv->pipenv) (1.6.0)
Requirement already satisfied: six<2,>=1.9.0 in /usr/lib/python3/dist-packages (from virtualenv->pipenv) (1.12.0)
Requirement already satisfied: appdirs<2,>=1.4.3 in /usr/local/lib/python3.7/dist-packages (from virtualenv->pipenv) (1.4.3)
Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.7/dist-packages (from importlib-metadata<2,>=0.12; python_version < "3.8"->virtualenv->pipenv) (3.1.0)
Installing collected packages: virtualenv-clone, virtualenv, pipenv
Successfully installed pipenv-2020.4.1b1 virtualenv-20.0.18 virtualenv-clone-0.5.4
# pipenv --version
pipenv, version 2020.4.1b1 

Tengo un problema con la importación de un archivo de requisitos. Esto es con python 3.8.2 y el último pipenv de arriba:

Mathieus-MacBook-Pro: mhindery$ pipenv install -r requirements.txt 
Creating a virtualenv for this project…
Pipfile: /<...>/Pipfile
Using /<...>/.pyenv/versions/3.8.2/bin/python3.8 (3.8.2) to create virtualenv…
⠧ Creating virtual environment...created virtual environment CPython3.8.2.final.0-64 in 444ms
  creator CPython3Posix(dest=/<...>-7y_bNLv7, clear=False, global=False)
  seeder FromAppData(download=False, pip=latest, setuptools=latest, wheel=latest, via=copy, app_data_dir=/<...>/virtualenv/seed-app-data/v1.0.1)
  activators BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator

✔ Successfully created virtual environment! 
Virtualenv location: /<...>-7y_bNLv7
Requirements file provided! Importing into Pipfile…
Traceback (most recent call last):
  File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/project.py", line 789, in write_toml
    formatted_data = tomlkit.dumps(data).rstrip()
  File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/tomlkit/api.py", line 42, in dumps
    return data.as_string()
  File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/tomlkit/container.py", line 343, in as_string
    s += self._render_aot(k, v)
  File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/tomlkit/container.py", line 412, in _render_aot
    cur += self._render_aot_table(table, prefix=_key)
  File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/tomlkit/container.py", line 421, in _render_aot_table
    if not table.is_super_table():
AttributeError: 'dict' object has no attribute 'is_super_table'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/mhindery/.pyenv/versions/3.8.2/bin/pipenv", line 10, in <module>
    sys.exit(cli())
  File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/click/decorators.py", line 73, in new_func
    return ctx.invoke(f, obj, *args, **kwargs)
  File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/click/decorators.py", line 21, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/cli/command.py", line 231, in install
    retcode = do_install(
  File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/core.py", line 1982, in do_install
    import_requirements(r=project.path_to(requirements), dev=dev)
  File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/core.py", line 230, in import_requirements
    project.add_index_to_pipfile(index, verify_ssl=trusted)
  File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/project.py", line 990, in add_index_to_pipfile
    self.write_toml(p)
  File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/project.py", line 793, in write_toml
    document[section] = tomlkit.container.Table()
TypeError: __init__() missing 3 required positional arguments: 'value', 'trivia', and 'is_aot_element'
Mathieus-MacBook-Pro: mhindery$ pipenv --version
pipenv, version 2020.4.1b1
Mathieus-MacBook-Pro: mhindery$ python --version
Python 3.8.2
Mathieus-MacBook-Pro:usermanagement mhindery$ pyenv --version
pyenv 1.2.18
Mathieus-MacBook-Pro: mhindery$ 

@mhindery Una solución rápida se encuentra en #4219

Descubrí un error aparentemente no crítico que informé en el separado #4220.

Hola,
Es bueno ver que el lanzamiento toma forma.

Quería probar la versión previa al lanzamiento en Mac OS y obtuve la mayoría de los bloqueos e instalaciones de las bibliotecas de mis proyectos funcionando, excepto los 2 mencionados aquí:
https://github.com/pypa/pipenv/issues/4227

@techalchemy ha anunciado la presentación preliminar en el foro Discourse de Python con detalles que incluyen:

  • objetivo de publicación (jueves 7 de mayo)
  • Novedades (aspectos destacados y registro de cambios completo)
  • lo que Pipenv necesita ayuda para probar
  • otros cambios en el proyecto: cambios en el proceso y las comunicaciones, cadencia de publicación y apoyo financiero
  • agradecimientos

Pruebas de Windows: ¡Hola a las personas que se ofrecieron como voluntarias anteriormente! Pruebe Pipenv y presente los errores entre ahora y el 6 de mayo, si puede.

@comando-tab
@mungojam
@snakeice
@nicolasalerta
@madsmtm
@Mause
@gmsantos
@davekeanexero
@lucidyan
@bratao
@sudopriestmx
@amhrasmussen

Pruebas de Windows: ¡Hola a las personas que se ofrecieron como voluntarias anteriormente! Pruebe Pipenv y presente los errores entre ahora y el 6 de mayo, si puede.

Ejecuté los comandos en este enlace y pipenv update --dry-run da como resultado una excepción #4229

También sucedió con otros proyectos y también en Linux/Ubuntu. La actualización de pipenv funciona como se esperaba.

No lo he consultado con @techalchemy , pero revisé rápidamente este repositorio y los cuatro repositorios de Sarugaku (como requirementslib) para ver cómo va esta versión beta.

Cambios:

4232 apareció y fue corregido por #4236.

Surgió 4217 y está arreglado por #4241 (que también aborda #3396).

4219 y #4230 ahora están fusionados.

Sigue abierto:

4231 aún está abierto y Dan necesita ayuda para reproducirlo en Mac OS X y/o Linux -- "Para setup.py que tiene setup_requires como cython , pipenv no parece respetarlo mientras bloqueando el Pipfile".

@brainwane FYI: sarugaku/requirementslib#229 es una solución a la regresión descrita en sarugaku/requirementslib#228 que forma parte de esta versión beta.

@brainwane , ¿creo que #4218 también sería un bloqueador? Es una regresión y rompe por completo tanto los proyectos existentes como los nuevos con ciertas dependencias.

Para proporcionar una actualización adicional aquí, intentaré tener este lanzamiento mañana (sé que es un día más tarde de lo planeado, pero algunos de los problemas fueron relativamente difíciles de rastrear, muchas gracias a aquellos de ustedes que pudieron para probar, proporcionar comentarios y ayudar a proporcionar información sobre algunos de los problemas sutiles que están sucediendo.

He publicado una autopsia más completa sobre el problema de bloqueo de lanzamiento aquí : ahora está esperando que finalicen las compilaciones, pero como ahora es la 1 a. responder/reaccionar.

Gracias de nuevo a todos los que han proporcionado valiosa información de depuración para ayudar a resolver algunos de estos problemas, ha hecho que el proceso sea mucho más fluido.

@techalchemy ?

@Immortalin Incluso si Dan dijo que potencialmente esperaba algo el lunes, su comentario no es constructivo. Por favor, compruébelo usted mismo.

Dan, todos apreciamos tu arduo trabajo. Creo que la mayoría de nosotros nos damos cuenta de que necesitamos encontrar más formas de ser útiles para usted.

4251 podría ser un sensacional ( pipenv install --outdated falla).

¿Planean lanzar otra versión beta? Estoy usando la versión 2020.4.1b1 y encontré un error al bloquear un proyecto con psycopg2. Veo que hubo arreglos como el #4231, así que prefiero verificarlo usando la última versión de pipenv con todas las correcciones de errores en lugar de informar algo que ya se corrigió.

Aquí hay una actualización de lanzamiento. Tl;dr: Nos encontramos con problemas inesperados al actualizar las bibliotecas dependientes que los proveedores de pipenv, y eso provocó un retraso. Habrá una nueva versión preliminar en algún momento de los próximos días.

Detalles:
A fines de la semana pasada, estaba fusionando lo que debería haber sido una solución simple en vistir a la dirección #4195. Estaba haciendo este cambio como parte de lo que debería haber sido un revendedor rápido en preparación para el lanzamiento; vistir es una de las bibliotecas que proporciona parte del soporte de compatibilidad multiplataforma/Python 2/3 para Pipenv. Sin embargo, CI fracasó en todos los ámbitos por todo tipo de razones extrañas, y esto ha llevado un poco de tiempo para resolverlo y abordarlo adecuadamente. De todos modos, no podía simplemente revertir la solución y publicarla, porque sin esta solución, existía el riesgo de romper la compatibilidad entre plataformas y en Pipenv.

Plan:

  • ~Liberar las bibliotecas (https://github.com/sarugaku/vistir / https://github.com/sarugaku/requirementslib)~
  • ~Revendedor de bibliotecas actualizadas en Pipenv~
  • ~Fusionar los PR restantes de bajo riesgo y listos para fusionarse en Pipenv~
  • ~Revise los problemas de Pipenv para los bloqueadores de lanzamiento~
  • ~Pre?Lanzamiento: probablemente haga una nueva versión preliminar de Pipenv antes de un lanzamiento canónico~

Notas adicionales

  • Los errores no estaban relacionados con el cambio, pero pueden estar relacionados con cambios en la forma en que Azure (entorno de CI) crea instancias de Python
  • En un caso, esto puede haber expuesto un error potencial significativo en la forma en que se codifica y decodifica la salida en Windows, mientras que el otro caso se relaciona con la representación de rutas a la última versión de MacOS.
  • La funcionalidad se prueba exhaustivamente mediante pruebas basadas en propiedades, por lo que podemos estar seguros de que las fallas son problemas reales y que las pruebas captarán los problemas en curso.
  • Gracias a la otra biblioteca y a los mantenedores de Pipenv, a los evaluadores y a otros usuarios, por ayudarme a rastrear cosas.

En primer lugar, déjame decirte muchas gracias por el trabajo que estás poniendo en este lanzamiento y por mantener este proyecto en marcha. Pipenv me ha salvado varias veces.

Todo lo dicho y a riesgo de desviarnos un poco del tema. Dado el último contratiempo en el proceso de lanzamiento

A fines de la semana pasada, estaba fusionando lo que debería haber sido una solución simple en vistir a la dirección #4195. Estaba haciendo este cambio como parte de lo que debería haber sido un revendedor rápido en preparación para el lanzamiento; vistir es una de las bibliotecas que proporciona parte del soporte de compatibilidad multiplataforma/Python 2/3 para Pipenv. Sin embargo, CI fracasó en todos los ámbitos por todo tipo de razones extrañas, y esto ha llevado un poco de tiempo para resolverlo y abordarlo adecuadamente. De todos modos, no podía simplemente revertir la solución y publicarla, porque sin esta solución, existía el riesgo de romper la compatibilidad entre plataformas y en Pipenv.

¿Ha considerado eliminar el soporte de python 2 (es EOL) y eliminar sus requisitos (es decir, vistir y tal vez otros)?

Supongo que se eliminará el soporte de python2 a largo plazo, pero si eliminarlo ahora simplifica el proceso de lanzamiento, reduce la complejidad del proyecto y facilita el corte de este lanzamiento, ¿quizás debería hacerse ahora y no más tarde?

pd gracias de nuevo por su arduo trabajo

editar: como sugirió flimm, abrí otro problema # 4261 para discutir sobre la eliminación de python 2 para tratar de mantener la conversación aquí en el primer lanzamiento de 2020

Sigamos conversando sobre la eliminación de la compatibilidad con Python 2 en un problema separado de GitHub, ya que tengo la sensación de que podría volverse ruidoso.

@r-richmond vistir también se usa en la rama lógica de Python 3, por lo que no creo que eliminar la compatibilidad con Python 2 haga que esta versión sea más fácil.

Así que me adelanté y corté otra prelanzamiento de pipenv ( 2020.4.1b2 -- la versión se etiquetará con la fecha en que sale, así que no te preocupes demasiado por el nombre).

Creo que esta versión captura la mayoría, si no todos, los cambios que espero incluir. Fusioné un cambio significativo desde la última versión preliminar que debería evitar el relanzamiento de procesos para intentar pip install dependencias ya satisfechas, así que informe cualquier problema ya que planeo lanzar de verdad el miércoles de la próxima semana .

¡Gracias nuevamente a todos los que ayudaron a probar, brindaron comentarios y ayudaron a fusionar las correcciones!

Acabo de hablar con @techalchemy . Está comprobando los números 4263 y 3592 para asegurarse de que no sean bloqueadores. también dijo

Solo vi un problema sobre las rutas de importación de proveedores...
La revendedora finalizó y no resolvió el problema de la ruta de importación, por lo que probablemente aceptaré el PR sobre el problema y generaré un parche para él por ahora.

Supongo que este es el #4267 pero no estoy seguro.

Una vez que se hayan ocupado de eso, creo que pretende lanzarlo hoy.

^ El lanzamiento está listo, ¡gracias a todos los que ayudaron con las pruebas!

¡Guau! ¡Absolutamente increible! ¡Muchas gracias por devolverle la vida a pipenv!

El jueves 28 de mayo de 2020 a las 15:17 Dan Ryan, [email protected] escribió:

^ El lanzamiento está listo, ¡gracias a todos los que ayudaron con las pruebas!


Estás recibiendo esto porque estás suscrito a este hilo.
Responda a este correo electrónico directamente, véalo en GitHub
https://github.com/pypa/pipenv/issues/3369#issuecomment-635107609 , o
darse de baja
https://github.com/notifications/unsubscribe-auth/AAAOGWNSCAEOBRJ5S4WZHADRTXXWHANCNFSM4GJK7LZA
.

^ El lanzamiento está listo, ¡gracias a todos los que ayudaron con las pruebas!

¡Muy apreciado! :+1: :cara_de_fiesta:

Según https://pypi.org/project/pipenv/#history , Pipenv 2020.5.28 ya está disponible , así que estoy cerrando este problema y, por lo tanto, el hito de lanzamiento .

Gracias a @techalchemy y gracias a Canonical por dejarlo trabajar en esto durante parte de su tiempo de trabajo diario.

En mi opinión: si usa Python para su trabajo y desea lanzamientos mejores y más frecuentes de esta y otras herramientas de empaquetado/distribución/instalación de Python, pídale a su empleador que participe con un patrocinio . Si tiene un presupuesto mayor, el Grupo de Trabajo de Empaques puede pagar a los contratistas para que trabajen constantemente en estos proyectos y los mantengan bien.

Y si desea ayudar como voluntario, lea este anuncio y siga el número 4130 sobre cómo mejorar la hoja de ruta de Pipenv y los procesos de mantenimiento de colaboradores, que es probablemente donde tendrá lugar más de esa discusión.

¡Gracias a todos los que contribuyeron a este lanzamiento: usuarios, evaluadores, impulsores de señal, revisores, autores de parches y las personas que dijeron cosas buenas en los comentarios aquí o en las listas de correo y las redes sociales!

(Escribí una publicación de blog sobre lo que se necesitó para romper el cuello de botella y sacar este lanzamiento, y sobre lo que puede hacer para replicar esto para otros proyectos, ya sea usted mismo o a través de mi firma, Changeset Consulting ).

Sumana, gracias por compartir esa historia. Y más aún por poner tu
tiempo y energía en pipenv revival. Como mencionaste, el valor desbloqueado
es enorme

El viernes 11 de septiembre de 2020 a las 21:05, Sumana Harihareswara [email protected]
escribió:

(Escribí una publicación de blog https://www.harihareswara.net/sumana/2020/09/08/0
sobre lo que se necesitó para romper el cuello de botella y sacar este lanzamiento, y
sobre lo que puede hacer para replicar esto en otros proyectos, ya sea
usted mismo o a través de mi firma, Changeset Consulting https://changeset.nyc/
.)


Estás recibiendo esto porque estás suscrito a este hilo.
Responda a este correo electrónico directamente, véalo en GitHub
https://github.com/pypa/pipenv/issues/3369#issuecomment-691029882 , o
darse de baja
https://github.com/notifications/unsubscribe-auth/AAAOGWNIKWJKNTMUH5PNUZ3SFIAAZANNCNFSM4GJK7LZA
.

--
Zaar

Hola a todos,

¿Esto soluciona los problemas de WSL vistos en #3488?

El problema que mencionó no se puede abordar en pipenv. Debe configurar su entorno como se describe en el problema usted mismo.

¿Fue útil esta página
0 / 5 - 0 calificaciones