Pipenv: Problème de suivi des versions d'avril (puis mai) 2020

Créé le 10 déc. 2018  ·  72Commentaires  ·  Source: pypa/pipenv

Il s'agit d'un problème de suivi interne qui sera lié aux problèmes connexes qui seront abordés/qui doivent encore être mis à jour dans le but de réduire la version. Cela fait longtemps (voir https://github.com/pypa/pipenv/issues/4058#issuecomment-565550646 et https://github.com/pypa/pipenv/issues/3742#issuecomment-492100711 pour certains passés commentaires à ce sujet) et il y a un objectif provisoire de sortir une pré-version en mars 2020.

(Modifié par @brainwane pour dire : la correction de certaines défaillances dans la configuration de l'intégration continue retarde cette version 2020.04.1a1 jusqu'à -- nouvelle estimation -- 21 avril 2020.)

(Édité par @brainwane pour dire : la pré-version 2020.4.1b1 est maintenant disponible, à partir du 29 avril, et Dan a pour objectif de publier la prochaine version dans environ une semaine.)

(Édité par @brainwane en conversation avec Dan le 5 mars 2020 puis tout au long de mars et avril)

  • [x] Autres éléments du jalon de sortie de mars 2020 :

    • [x] #3613 Pipenv installe les mauvais packages (en ignorant le verrouillage du package)

    • [x] #4137 Mettez à jour README et lisez le projet Docs pour pointer vers la documentation sur pipenv.pypa.io

  • [x] [Corriger les échecs de test pip-shims ](https://github.com/sarugaku/pip-shims/issues/58) (fusionner la branche bugfix/56 )
  • [x] requirementslib correctifs :

    • [x] sarugaku/requirementslib#204 requirementslib issue l'analyse AST de setup.py échoue sur le type sans addition binOps

    • [x] sarugaku/requirementslib#205 L'analyse AST échoue sur les fichiers non-utf8 setup.py

    • [x] sarugaku/requirementslib/issues/214 Nous ne devrions pas installer les versions mises à jour des dépendances de test dans CI

    • [x] sarugaku/requirementslib#219 calculateur Ajout d'un calculateur d'exigences pour les artefacts dans PyPI

    • [x] Examiner les problèmes de requirements-lib pour les autres bloqueurs de version de pipenv

  • [x] Créer de nouvelles versions des bibliothèques associées :

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

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

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

  • [x] Terminer, approuver et fusionner #4169 pour résoudre les dépendances/importations manquantes

    • [x] Corriger l'entrée/les entrées de nouvelles

    • [x] Correction de la configuration CI cassée

    • [x] Obtenir des tests à réussir

  • [x] Correction #4188 soit en faisant fonctionner à nouveau la clé API pyup, soit en choisissant et en implémentant une alternative
  • [x] Obtenez les tests GitHub à transmettre au maître (sautez le test mentionné dans #4201)
  • [x] Améliorer l'automatisation des versions pour permettre la génération d'avant-premières

    • [x] Générer un journal des modifications en mode brouillon

    • [x] Ne pas baliser automatiquement et envoyer la balise au dépôt

  • [x] Mettre à jour et exécuter "Tester localement" et "Télécharger la version" pour la liste de contrôle de l'empaquetage/de la version
  • [x] Empaqueter et télécharger la version préliminaire de pipenv 2020.04.1a1 sur PyPI

C'est ce que Dan vise à faire d'ici le 21 avril 2020. Ensuite :

  • [x] Faire une autre nouvelle version de requirementslib qui intègre un correctif à https://github.com/sarugaku/requirementslib/issues/216

    • [x] Reverrouiller les dépendances requirementslib

  • [x] Annoncez la pré-version et demandez une semaine de test

    • [x] Tests en particulier sur Windows par rapport aux backends PEP 517 et impliquant des virtualenvs

  • [x] Après environ 1 semaine (s'il n'y a pas de bugs bloquants), publiez la nouvelle version

Comment les autres peuvent aider :

Commentaire le plus utile

^ La version est en place, merci à tous ceux qui ont aidé avec les tests !

Tous les 72 commentaires

Cela semble être un bon endroit pour demander quand la prochaine version pourrait être, quels sont les bloqueurs et s'il y a quelque chose que quelqu'un peut faire pour aider ?

Mon équipe attend avec impatience la prochaine mise à jour, en particulier pour l'adresse #3298. Reste-t-il encore des bloqueurs majeurs ?

J'ai remarqué https://github.com/pypa/packaging.python.org/issues/701 aujourd'hui et j'ai donné environ 90 minutes de temps pour aider @techalchemy à obtenir plus de clarté sur ce qui l'empêche de faire la nouvelle version ( conversation IRC )) . https://github.com/pypa/pipenv/issues/3369#issue -389160510 a maintenant une liste de contrôle des versions. @techalchemy pourrait utiliser de l'aide avec ces bloqueurs de libération, au cas où @JBKahn ou quelqu'un d'autre voudrait aider.

@techalchemy : En regardant les problèmes liés ici, beaucoup d'entre eux sont résolus. Je pense qu'il serait bien de cocher les cases des problèmes qui ont été corrigés, afin que les gens puissent voir qu'il y a des progrès en regardant simplement le premier message de ce fil (:

@brainwane , @techalchemy , excusez mon interférence et mon ignorance potentielle, mais puis-je suggérer de retirer #2227 et/ou #3520 de cette version ? J'ai l'impression qu'obtenir plus ou moins n'importe quoi est essentiel et bénéfique. # 2227 ressemble à une nouvelle fonctionnalité tandis que # 3520 a une solution de contournement décrite (sans objection du journaliste).

De même, est-il strictement nécessaire de "créer de nouvelles versions de bibliothèques associées" avant de sortir le prochain pipenv? En regardant dans # 3613, j'ai trouvé que la branche principale actuelle fonctionnait simplement ...

Je ne dis pas que ces problèmes ne sont pas importants, juste qu'ils ne devraient pas empêcher les améliorations déjà apportées à master d'atteindre les gens.

Mars est presque terminé

Il semble que https://github.com/pypa/pipenv/issues/3520 soit corrigé dans le maître actuel, https://github.com/pypa/pipenv/issues/2227 ne ressemble pas à un correctif critique pour une mise à jour .

Y a-t-il quelque chose qui bloque où la communauté peut être utile ? Je suis heureux de vous tendre la main. Sinon, je ne vois que les mises à jour des versions et les mises à jour des documents.

@Froskekongen @amhrasmussen @fridex merci pour les pointeurs ! J'ai donné un peu plus de temps hier et @techalchemy et moi avons travaillé sur quelques autres éléments pertinents de la liste .

En regardant les problèmes liés ici, beaucoup d'entre eux sont résolus. Je pense qu'il serait bien de cocher les cases des problèmes qui ont été corrigés, afin que les gens puissent voir qu'il y a des progrès en regardant simplement le premier message de ce fil (:

Merci! Plusieurs autres sont vérifiés maintenant. :-)

Il semble que # 3520 soit corrigé dans le maître actuel

Pourriez-vous s'il vous plaît dire cela dans un commentaire sur # 3520? Merci.

2227 ne ressemble pas à un correctif critique pour une mise à jour.

@brainwane , @techalchemy , excusez mon interférence et mon ignorance potentielle, mais puis-je suggérer de retirer #2227 et/ou #3520 de cette version ? J'ai l'impression qu'obtenir plus ou moins n'importe quoi est essentiel et bénéfique. # 2227 ressemble à une nouvelle fonctionnalité tandis que # 3520 a une solution de contournement décrite (sans objection du journaliste).

Merci. Dan était d'accord avec vous et nous avons supprimé #2227 en tant que bloqueur sur cette version. Si vous pouviez aider avec # 3520 en confirmant que la solution de contournement fonctionne et en commentant là-bas, ce serait formidable.

De même, est-il strictement nécessaire de "créer de nouvelles versions de bibliothèques associées" avant de sortir le prochain pipenv? En regardant dans # 3613, j'ai trouvé que la branche principale actuelle fonctionnait simplement ...

Je ne dis pas que ces problèmes ne sont pas importants, juste qu'ils ne devraient pas empêcher les améliorations déjà apportées à master d'atteindre les gens.

Si je comprends bien, ces bibliothèques sont importantes pour la fonctionnalité pipenv, ainsi que pour tester correctement pipenv afin de garantir que la version fonctionne sur les combinaisons système d'exploitation/environnement prises en charge. Je peux me tromper, mais Dan a dit "tbh la plupart du travail se passe dans les bibliothèques auxiliaires ces jours-ci".

Y a-t-il quelque chose qui bloque où la communauté peut être utile ? Je suis heureux de vous tendre la main. Sinon, je ne vois que les mises à jour des versions et les mises à jour des documents.

Aidez-nous en répondant aux questions des nouveaux utilisateurs dans les problèmes GitHub de pipenv ; de cette façon, Dan n'a pas à se soucier de répondre à ceux-ci et peut se concentrer sur cette version.

Se rapproche d'une sortie !

Nouvel e-mail de mise à jour de @techalchemy sur distutils-sig (en miroir sur la liste pypa-dev ). Comprend quelques façons dont vous pouvez aider.

@AEHamrick J'ai vu votre commentaire https://github.com/pypa/pipenv/issues/3742#issuecomment -498312920 - J'ai jeté un coup d'œil rapide aux # 3382 et # 3757, et il semble que ceux-ci soient déjà corrigés dans master. Est-ce correct? S'ils ne sont pas encore corrigés dans le maître, veuillez le dire dans un commentaire ici, afin que nous puissions envisager de les ajouter au jalon de la version. Merci!

@brainwane Hé, j'apprécie votre enregistrement. Franchement, j'ai commencé à utiliser la poésie il y a un certain temps en raison du manque d'activité ici, mais si je peux trouver le temps, je mettrai en place un environnement de test et verrai si les situations que je frappais ces bugs semblent être ok maintenant.

Je comprends tout à fait, @AEHamrick -- merci.

J'ai donné un peu plus de temps hier pour aider @techalchemy à aller plus loin. Dan a fait de nouvelles versions de pythonfinder et requirementslib, et est allé plus loin dans la fusion de la branche vendor-update pour résoudre les dépendances/importations manquantes. Il travaille toujours là-dessus aujourd'hui ("quelques tests ont échoué mais pas trop - 17/230 environ" plus tôt dans la journée).

Une fois que les responsables de Pipenv ont publié une pré-version, certains tests manuels des utilisateurs les aideront à se sentir en confiance pour pousser la version canonique. Je suggère : vous pouvez aider à développer une liste de "flux de travail Pipenv à tester" , dans ce sens .

En outre, toute personne qui suit ce problème, pensez à retweeter ce tweet sur l'état actuel et comment les gens peuvent aider.

vistir est en fait déjà à jour ; supprimé cela de la version TODO.

Et @techalchemy a lancé un guide d'instructions sur le processus de publication de Pipenv - s'il y a des étapes qui devraient y figurer et qui ne le sont pas, veuillez commenter ici ou ajouter des puces dans ce document.

Dan est sur le point de pouvoir fusionner la branche feature/vendor-update :

1 failed, 231 passed, 21 skipped in 442.72 seconds

Dan a fait passer les tests localement et a maintenant fait la demande d'extraction #4169 et s'assure que les tests réussissent ; en ce moment, ils fonctionnent très lentement et échouent parfois. Il travaille donc là-dessus en ce moment, en particulier pour essayer de faire fonctionner la syntaxe Azure. Selon combien il peut accélérer certains de ces tests, et s'ils échouent, et s'il doit chasser des échecs intermittents, il pourra peut-être faire une pré-version aujourd'hui ! Ou cela pourrait être dans quelques jours.

Les gens ont demandé comment ils pouvaient aider. Dans les prochains jours ou semaines, @techalchemy pourrait avoir besoin d'une aide particulière pour tester la nouvelle pré-version sur Windows. Veuillez utiliser la réaction emoji :eyes: à ce commentaire si vous êtes prêt à aider à tester sur Windows.

Et si vous en savez beaucoup sur les modèles de pipelines Azure, envisagez de venir sur le canal IRC et d'aider aujourd'hui et/ou demain ?

Voir https://github.com/pypa/pipenv/pull/4169#issuecomment -607348834 pour une mise à jour sur les progrès des relations publiques.

Dan continue de faire des progrès pour faire passer les tests (comme le notent les commentaires sur # 4169, les tests ont commencé à échouer il y a quelques mois, donc il ne s'occupe pas seulement de ce PR mais d'une dette technique en retard ici). J'ai changé le titre du numéro pour refléter la réalité.

Voir https://github.com/pypa/pipenv/pull/4169#issuecomment -610017500 pour une bonne mise à jour sur les progrès des relations publiques.

Si vous pouvez aider à comprendre les échecs des tests Windows sur Azure, veuillez consulter #4169 et commenter.

Comment les autres peuvent aider :

Merci aux personnes qui ont contribué à l'expertise des tests Windows et Azure dans #4169 !

Dan vient de fusionner #4169 et détermine si d'autres demandes d'extraction doivent également être fusionnées avant de pouvoir créer une nouvelle pré-version. Une fois que @techalchemy aura fait cette pré-version, il demandera de l'aide pour la tester.

Il y a un problème distinct, #4130, pour élaborer des plans à plus long terme sur l'amélioration de la feuille de route et des processus de contributeur et de responsable.

Le nouveau numéro #4188 a besoin d'un correctif de toute urgence, car il casse les installations existantes, donc Dan travaille d'abord dessus. J'ai mis à jour la liste de contrôle au début de ce numéro en conséquence.

@techalchemy n'a pas l'intention d'approfondir les problèmes existants pour rechercher des bloqueurs de version - après avoir publié l'avant-première et recruté des testeurs, il passera au crible les problèmes pour voir si l'un d'entre eux devrait bloquer la nouvelle version.

Maintenant que lui et d'autres développeurs de pipenv ont résolu le problème de test de Windows (dans # 4169 et d'autres PR) et que Dan est en train d'adresser # 4188 (merci aux gens de PyUp pour un appel hier), il aimerait avoir une avant-première de pipenv ce week-end ou lundi. Le numéro de version est provisoirement prévu pour être 2020.04.1a1. Nous recruterons ensuite des testeurs pour environ une semaine de tests manuels .

Je n'ai pas encore pu le réparer, mais vous avez au moins un test qui n'est pas sûr en parallèle. Les tests s'exécutent avec pytest -n 3 dans .azure-pipelines/steps/run-tests-windows.yml mais cela entraînera des échecs aléatoires comme le test d'effacement du cache test_pipenv_clear dans tests\integration\test_cli.py .

Tous les tests cli partagent probablement des chemins de cache et ne doivent pas être exécutés en parallèle ou faire en sorte que chaque PipEnvInstance utilise un chemin racine/home distinct.

Voir aussi deux exécutions du même code :
https://github.com/bneijt/pipenv/runs/596610863?check_suite_focus=true
https://github.com/bneijt/pipenv/runs/596726284?check_suite_focus=true

N'importe lequel des éléments suivants pourrait aider, mais je suis nouveau dans le projet, donc je ne sais pas encore quoi faire :

  • Configurez un PR pour les builds planifiés au lieu de seulement sur pull, cela donnera plus d'informations sur si les builds échouent sans modifications
  • Désactiver les tests parallèles pour la suite cli
  • Assurez-vous que PipenvInstance configure un chemin de cache unique pour chaque instance.
  • Créer un problème et le laisser pour une autre fois

S'il vous plaît donnez votre avis.

Juste un petit mot pour dire merci à vous tous qui soutenez la sortie de pipenv. C'est très apprécié. pipenv devrait être l'outil de choix, en particulier pour les débutants en Python, à mon avis, car il élimine un grand nombre des tracas de virtualenv qu'un débutant ne devrait pas avoir à se soucier au début. Super truc!

Salut à tous, je viens juste de vérifier - rencontrez un problème mineur avec une casse sur une version dépendante et quelques problèmes plus azur. Tout vert à partir de ce soir donc je serai en pré-sortie demain :) Merci pour votre patience !

Comme autre brève mise à jour, j'ai publié une version sur https://test.pypi.org pour le moment pour tous ceux qui souhaitent mettre la main sur une copie - elle peut être installée via pip install --index-url=https://test.pypi.org pipenv . Je n'ai encore rien validé sur ce build, mais j'avais besoin de publier quelque chose afin de revendiquer la propriété du nom sur test PyPI :)

La dernière étape consistera à transférer une action github pour effectuer une série de versions, d'abord sur l'instance de test, puis à gérer la version réelle. C'est ainsi que je gère maintenant les versions de la plupart de mes autres projets, et cela devrait rendre le processus un peu plus fluide car cela me supprime comme point de défaillance unique. Merci encore pour votre patience et faites-moi savoir si vous rencontrez des problèmes

Merci @techalchemy ! Pour info, cela a fonctionné pour moi:

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

après avoir fait un pip uninstall pipenv

Faut-il installer une certaine version de pip ? Je pensais qu'il en utilisait un vendu dans pipenv lui-même, mais j'obtiens cette erreur :

Fichier "C:UsersaaAppDataRoamingPythonPython36site-packagespipenvcore.py", ligne 862, dans do_install_dependencies
normal_deps, procs, failed_deps_queue, requirements_dir, install_kwargsFichier "C:UsersaaAppDataRoamingPythonPython36site-packagespipenvcore.py", ligne 776, dans batch_installuse_pep517=use_pep517,Fichier "C:UsersaaAppDataRoamingPythonPython36site-packagespipenvcore.py", ligne 1484, dans pip_installno_deps=no_deps, require_hashes=pas ignore_hashesFichier "C:UsersaaAppDataRoamingPythonPython36site-packagespipenvcore.py", ligne 1341, dans get_pip_argssi projet.environnement.pip_version >= parse_version("19.0") :Fichier "C:UsersaaAppDataRoamingPythonPython36site-packagespipenvproject.py", ligne 343, dans l'environnementself._environment.extend_dists(pipenv_dist)Fichier "C:UsersaaAppDataRoamingPythonPython36site-packagespipenvenvironment.py", ligne 102, dans extend_distsextras = self.resolve_dist(dist, self.base_working_set)Fichier "C:UsersaaAppDataRoamingPythonPython36site-packagespipenvenvironment.py", ligne 97, dans resolve_distdist = working_set.find(req)Fichier "C:UsersaaAppDataRoamingPythonPython36site-packagespkg_resources__init__.py", ligne 644, dans findlever VersionConflict(dist, req)pkg_resources.VersionConflict : ( pip 9.0.1 (c:programdataanaconda3libsite-packages), Requirement.parse('pip>=18.0')**)

Nous exécutons python 3.6.0, et j'hésite à mettre à jour notre version globale de pip car cela signifiait auparavant que nous ne pouvions plus exécuter pip install blah et que nous devions faire python -m pip install blah .

Merci @techalchemy pour le travail acharné ! Dans l'attente d'une sortie

il peut être installé via pip install --index-url= https://test.pypi.org pipenv.

J'ai rapidement essayé cela dans un virtualenv et j'ai obtenu ce qui suit:

> 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)

Je suppose que c'est parce que virtualenv-clone n'est pas disponible sur test.pypi.org ; installer virtualenv-clone et virtualenv manuellement dans le venv a fait l'affaire pour moi.

Partagez ceci au cas où cela serait utile à d'autres :)

@JeanFred essaie:

pip uninstall pipenv

puis relancer l'installation

Je viens de mettre à jour mon pipenv actuel :

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

Fonctionne comme un charme! Merci @techalchemy !

@bneijt Dépôt d'un nouveau problème pour la flakiness de test que vous avez trouvé serait une bonne idée, sinon je crains que des informations ne soient perdues dans les commentaires des tests de pré-version ici.

excuses pour le manque de suivi sur ce @JeanFred vous pouvez résoudre ce problème temporairement avec pip install --index-url https://test.pypi.org/simple --extra-index-url https://pypi.org/simple --pre pipenv

Si vous pouvez attendre un peu, je proposerai une préversion à PyPI sous peu

excuses pour le manque de suivi sur ce @JeanFred vous pouvez résoudre ce problème temporairement avec pip install --index-url https://test.pypi.org/simple --extra-index-url https://pypi.org/simple --pre pipenv

Si vous pouvez attendre un peu, je proposerai une préversion à PyPI sous peu

Bonjour @techalchemy , merci pour vos efforts ! Ai-je été trop rapide ?

# 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/

Salutations à tous, je suis allé de l'avant et j'ai poussé une pré-version vers pypi standard afin que vous puissiez éviter la complexité du test pypi - n'hésitez pas à essayer pip install --upgrade --pre pipenv et vous devriez voir l'installation 2020.4.1b1

J'enverrai plus de détails demain quand j'aurai dormi un peu, mais j'encourage tous ceux qui souhaitent tester cela un peu à consulter ou à s'appuyer sur les flux de travail manuels répertoriés dans ce document.

Merci encore de votre patience!

C'est excitant! Merci à tous ceux qui y travaillent.

Je n'ai pas encore lu tout cela, mais j'ai vu une version alpha et immédiatement une version bêta. Dans Fedora, nous testerons l'avant-première, mais nous avons besoin de quelques jours et la bêta rapide après l'alpha m'a un peu surpris.

@hroncok la version alpha sur pypi principal était en grande partie pour valider le changement d'automatisation de la version, la version bêta sera en place pendant au moins une semaine. N'hésitez pas à me contacter sur IRC si vous avez besoin de plus de temps ou si vous rencontrez des difficultés supplémentaires avec le reconditionnement

N'hésitez pas à me contacter sur IRC si vous avez besoin de plus de temps ou si vous rencontrez des difficultés supplémentaires avec le reconditionnement

A faire si besoin. Merci.

EDIT : Je me suis désabonné ici, car je soupçonne que beaucoup de rapports d'utilisateurs "la nouvelle version fonctionne pour moi" ici.

@techalchemy merci ! Déjà testé dans un projet et ça marche très 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 

J'ai un problème avec l'importation d'un fichier d'exigences. C'est avec python 3.8.2 et le dernier pipenv ci-dessus :

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 Une solution rapide est débarquée dans # 4219

J'ai découvert une erreur apparemment non critique que j'ai signalée dans le #4220 séparé.

Salut,
C'est agréable de voir la libération prendre forme.

Je voulais essayer la version préliminaire sur Mac Os et j'ai obtenu la plupart des verrous et des installations des bibliothèques de mes projets, à l'exception des 2 mentionnés ici :
https://github.com/pypa/pipenv/issues/4227

@techalchemy a annoncé la pré-version sur le forum Python's Discourse avec des détails tels que :

  • objectif de sortie (jeudi 7 mai)
  • quoi de neuf (faits saillants et journal des modifications complet)
  • ce que Pipenv a besoin d'aide pour tester
  • autres changements dans le projet : changements de processus et de communication, cadence de publication et soutien financier
  • Merci

Tests Windows : bonjour à ceux qui se sont portés volontaires plus tôt ! Veuillez tester Pipenv et signaler les bogues d'ici le 6 mai , si vous le pouvez.

@commande-tab
@mungojam
@snakeice
@nicholasAlert
@madsmtm
@Mause
@gmsantos
@davekeanexero
@lucidyan
@bratao
@sudopriestmx
@amhrasmussen

Tests Windows : bonjour à ceux qui se sont portés volontaires plus tôt ! Veuillez tester Pipenv et signaler les bogues d'ici le 6 mai , si vous le pouvez.

J'ai exécuté les commandes dans ce lien et pipenv update --dry-run entraîne une exception #4229

Cela s'est également produit avec d'autres projets et sur Linux/Ubuntu également. La mise à jour de pipenv fonctionne comme prévu.

Je n'ai pas vérifié avec @techalchemy mais j'ai juste parcouru rapidement ce référentiel et les quatre référentiels Sarugaku (tels que requirementslib) pour voir comment se déroule cette version bêta.

Changements:

4232 est apparu et a été corrigé par #4236.

4217 est apparu et est corrigé par #4241 (qui adresse également #3396).

4219 et #4230 sont maintenant fusionnés.

Toujours ouvert:

4231 est toujours ouvert et Dan a besoin d'aide pour le reproduire sur Mac OS X et/ou Linux - "Pour les setup.py qui ont setup_requires comme cython , pipenv ne semble pas l'honorer alors que verrouiller le Pipfile".

@brainwane FYI : sarugaku/requirementslib#229 est un correctif de la régression décrite dans sarugaku/requirementslib#228 qui fait partie de cette version bêta.

@brainwane Je pense que #4218 serait aussi un bloqueur ? C'est une régression et casse complètement les projets existants et nouveaux avec certaines dépendances.

Pour fournir une mise à jour supplémentaire ici, j'essaierai de publier cette version demain (je me rends compte que c'est un jour plus tard que prévu, mais quelques-uns des problèmes étaient relativement difficiles à traquer -- un grand merci à ceux d'entre vous qui ont pu pour tester, fournir des commentaires et aider à mieux comprendre certains des problèmes subtils qui se posent.

J'ai posté un post-mortem plus approfondi sur le problème de blocage de la publication ici - cela attend maintenant la fin des versions, mais comme il est maintenant 1h du matin le samedi matin, je m'abstiendrai très probablement de publier jusqu'à lundi pour éviter de casser quoi que ce soit alors que personne n'est là pour répondre / réagir.

Merci encore à tous ceux qui ont fourni des informations de débogage précieuses pour aider à résoudre certains de ces problèmes, cela a rendu le processus beaucoup plus fluide.

@techalchemy ?

@Immortalin Même si Dan a dit s'attendre potentiellement à quelque chose lundi, votre commentaire n'est pas constructif. Veuillez vérifier vous-même.

Dan, nous apprécions tous votre travail acharné. Je pense que la plupart d'entre nous réalisent que nous devons trouver plus de façons de vous être utiles.

4251 pourrait être un obstacle (échec pipenv install --outdated ).

Prévoyez-vous de publier une autre version bêta ? J'utilise la version 2020.4.1b1 et j'ai rencontré une erreur lors du verrouillage d'un projet avec psycopg2. Je vois qu'il y avait des correctifs tels que # 4231, donc je préfère le vérifier en utilisant la dernière version de pipenv avec tous les correctifs plutôt que de signaler quelque chose de déjà corrigé.

Voici une mise à jour de la version. Tl;dr : Nous avons rencontré des problèmes inattendus lors de la mise à jour des bibliothèques dépendantes des fournisseurs de pipenv, ce qui a entraîné un retard. Il y aura une nouvelle avant-première dans les prochains jours.

Des détails:
À la fin de la semaine dernière, je fusionnais ce qui aurait dû être un simple correctif dans vistir à l'adresse #4195. Je faisais ce changement dans le cadre de ce qui aurait dû être une refonte rapide en préparation de la sortie; vistir est l'une des bibliothèques qui fournit une partie de la prise en charge de la compatibilité multiplateforme/Python 2/3 pour Pipenv. Cependant, CI a échoué dans tous les domaines pour toutes sortes de raisons étranges, et cela a pris un peu de temps à comprendre et à résoudre correctement. Je ne pouvais pas simplement annuler le correctif et le publier de toute façon, car sans ce correctif, il y avait un risque de rupture de la multiplateforme et de la compatibilité dans Pipenv.

Planifier:

  • ~Libérez les bibliothèques (https://github.com/sarugaku/vistir / https://github.com/sarugaku/requirementslib)~
  • ~ Bibliothèques mises à jour des revendeurs dans Pipenv ~
  • ~Fusionner les relations publiques restantes à faible risque et prêtes à fusionner dans Pipenv~
  • ~Revoir les problèmes de Pipenv pour les bloqueurs de version~
  • ~Pre?Release : faites probablement une nouvelle pré-version de Pipenv avant une version canonique~

Notes complémentaires

  • Les échecs n'étaient pas liés au changement, mais peuvent être liés à des changements dans la façon dont Azure (environnement CI) crée des instances Python
  • Dans un cas, cela peut avoir exposé un bogue potentiel important dans la façon dont la sortie est encodée et décodée sous Windows, tandis que l'autre cas concerne la représentation des chemins vers la dernière version de MacOS.
  • La fonctionnalité est testée de manière approfondie par des tests basés sur les propriétés, de sorte que nous pouvons être sûrs que les échecs sont de vrais problèmes et que les tests captureront les problèmes en cours
  • Merci aux autres responsables de la bibliothèque et de Pipenv, ainsi qu'aux testeurs et autres utilisateurs, pour m'avoir aidé à retrouver des choses

Tout d'abord, permettez-moi de vous remercier infiniment pour le travail que vous mettez dans cette version et pour faire avancer ce projet. Pipenv m'a sauvé plusieurs fois.

Tout cela dit et au risque de sortir un peu du sujet. Compte tenu du dernier contretemps dans le processus de publication

À la fin de la semaine dernière, je fusionnais ce qui aurait dû être un simple correctif dans vistir à l'adresse #4195. Je faisais ce changement dans le cadre de ce qui aurait dû être une refonte rapide en préparation de la sortie; vistir est l'une des bibliothèques qui fournit une partie de la prise en charge de la compatibilité multiplateforme/Python 2/3 pour Pipenv. Cependant, CI a échoué dans tous les domaines pour toutes sortes de raisons étranges, et cela a pris un peu de temps à comprendre et à résoudre correctement. Je ne pouvais pas simplement annuler le correctif et le publier de toute façon, car sans ce correctif, il y avait un risque de rupture de la multiplateforme et de la compatibilité dans Pipenv.

Avez-vous envisagé de supprimer le support de python 2 (c'est EOL) et de supprimer ses exigences (c'est-à-dire vistir et peut-être d'autres) ?

Je suppose que la prise en charge à long terme de python2 sera supprimée, mais si sa suppression simplifie maintenant le processus de publication, réduit la complexité du projet et facilite la suppression de cette version, peut-être devrait-elle être faite maintenant plutôt que plus tard ?

ps merci encore pour votre travail acharné

edit: comme flimm l'a suggéré, j'ai ouvert un autre numéro # 4261 pour discuter de l'abandon de python 2 pour essayer de maintenir la conversation ici sur la première version de 2020

Poursuivons la conversation sur l'abandon de la prise en charge de Python 2 dans un problème GitHub distinct, car j'ai l'impression que cela pourrait devenir bruyant.

@r-richmond vistir est également utilisé dans la branche Python 3 de la logique, donc je ne pense pas que la suppression de la prise en charge de Python 2 rendrait cette version _plus facile_.

Je suis donc allé de l'avant et j'ai coupé une autre pré -version de pipenv ( 2020.4.1b2 - la version sera étiquetée avec la date de sortie, alors ne vous inquiétez pas trop du nom).

Je pense que cette version capture la majorité, sinon la totalité des changements que j'espère inclure. J'ai fusionné un changement important depuis la dernière pré-version qui devrait éviter de relancer les processus pour tenter de pip install des dépendances déjà satisfaites, veuillez donc signaler tout problème car je prévois de publier pour de vrai le mercredi de la semaine prochaine .

Merci encore à tous ceux qui ont aidé à tester, fourni des commentaires et aidé à fusionner les correctifs !

Je viens de parler avec @techalchemy . Il vérifie sur #4263 et #3592 pour s'assurer qu'ils ne sont pas des bloqueurs. Il a aussi dit

Je n'ai vu qu'un seul problème concernant les chemins d'importation des fournisseurs...
revendoring s'est terminé et n'a pas résolu le problème du chemin d'importation, donc je vais probablement accepter le PR sur le problème et générer un correctif pour le moment

Je suppose que c'est #4267 mais je ne suis pas sûr.

Une fois que ceux-ci sont pris en charge, je pense qu'il vise à sortir aujourd'hui.

^ La version est en place, merci à tous ceux qui ont aidé avec les tests !

Wow! Absolument incroyable! Merci beaucoup d'avoir redonné vie à pipenv !

Le jeu. 28 mai 2020, 15:17 Dan Ryan, [email protected] a écrit :

^ La version est en place, merci à tous ceux qui ont aidé avec les tests !


Vous recevez ceci parce que vous êtes abonné à ce fil.
Répondez directement à cet e-mail, consultez-le sur GitHub
https://github.com/pypa/pipenv/issues/3369#issuecomment-635107609 , ou
Se désabonner
https://github.com/notifications/unsubscribe-auth/AAAOGWNSCAEOBRJ5S4WZHADRTXXWHANCNFSM4GJK7LZA
.

^ La version est en place, merci à tous ceux qui ont aidé avec les tests !

Très apprécié! :+1: :partying_face:

Par https://pypi.org/project/pipenv/#history , Pipenv 2020.5.28 est maintenant sorti , donc je ferme ce problème et donc le jalon de la sortie .

Merci à @techalchemy - et merci à Canonical de l'avoir laissé travailler là-dessus pendant une partie de son temps de travail quotidien.

À mon avis : si vous utilisez Python pour votre travail et que vous souhaitez des versions meilleures et plus fréquentes de cet outil et d'autres outils d'empaquetage/distribution/installation Python, demandez à votre employeur de participer avec un parrainage . S'il dispose d'un budget plus important, le groupe de travail sur l'emballage peut payer des sous-traitants pour travailler de manière cohérente sur ces projets et les entretenir correctement.

Et si vous souhaitez aider en faisant du bénévolat, lisez cette annonce et suivez le numéro 4130 sur l'amélioration de la feuille de route de Pipenv et des processus de contributeur-mainteneur, c'est probablement là que cette discussion se déroulera davantage.

Merci à tous ceux qui ont contribué à cette version - utilisateurs, testeurs, amplificateurs de signal, critiques, auteurs de correctifs et les personnes qui ont dit de belles choses dans les commentaires ici ou sur les listes de diffusion et les réseaux sociaux !

(J'ai écrit un article de blog sur ce qu'il a fallu pour briser le goulot d'étranglement et sortir cette version, et sur ce que vous pouvez faire pour reproduire cela pour d'autres projets - soit vous-même, soit via ma société, Changeset Consulting .)

Sumana, merci d'avoir partagé cette histoire. Et encore plus pour mettre votre
du temps et de l'énergie dans la renaissance de pipenv. Comme vous l'avez mentionné, la valeur déverrouillée
est énorme.

Le ven. 11 septembre 2020 à 21h05, Sumana Harihareswara [email protected]
a écrit:

(J'ai écrit un article de blog https://www.harihareswara.net/sumana/2020/09/08/0
sur ce qu'il a fallu pour briser le goulot d'étranglement et sortir cette version, et
sur ce que vous pouvez faire pour reproduire cela pour d'autres projets - soit
vous-même ou via mon cabinet, Changeset Consulting https://changeset.nyc/
.)


Vous recevez ceci parce que vous êtes abonné à ce fil.
Répondez directement à cet e-mail, consultez-le sur GitHub
https://github.com/pypa/pipenv/issues/3369#issuecomment-691029882 , ou
Se désabonner
https://github.com/notifications/unsubscribe-auth/AAAOGWNIKWJKNTMUH5PNUZ3SFIAAZANCNFSM4GJK7LZA
.

--
Zaar

Salut à tous,

cela résout-il les problèmes WSL vus sur # 3488?

Le problème que vous avez mentionné ne peut pas être résolu dans pipenv. Vous devez configurer vous-même votre environnement comme décrit dans le problème.

Cette page vous a été utile?
0 / 5 - 0 notes