Pipenv: Problème après la mise à niveau de python vers 3.7

Créé le 24 août 2018  ·  12Commentaires  ·  Source: pypa/pipenv

Description du problème

Je suis sur un Mac et j'ai installé pre-commit utilisant brew et sans même le demander, j'ai été mis à niveau de python 3.6.5 à 3.7. (3.6.5 était également sous le contrôle de brew )

Maintenant, pipenv échoue avec l'erreur "Bibliothèque non chargée".

Résultat attendu

Pipenv pour fonctionner comme avant la mise à niveau de python.

Résultat actuel
$ pipenv -h
dyld: Library not loaded: @executable_path/../.Python
  Referenced from: /usr/local/Cellar/pipenv/2018.5.18/libexec/bin/python3.6
  Reason: image not found
Abort trap: 6
commentaires
  1. Quelle est la bonne façon de résoudre le problème ? Puis-je modifier un fichier de configuration pour pointer vers 3.7 à la place ?

  2. Est-ce que pipenv pourrait peut-être être plus clément et s'appuyer sur le binaire python3 au lieu du python3.6 ?

Commentaire le plus utile

J'ai un problème similaire - où arch linux est passé de 3.6.5 à 3.7 et maintenant j'obtiens une erreur chaque fois que j'essaie d'exécuter pipenv. Ce qui fonctionne pour moi, mais c'est en effet un hack un peu moche, est d'abord de mettre à niveau pip, de réinstaller pipenv et pour chaque référentiel utilisant pipenv, d'effacer l'environnement virtuel et de le recréer.
Je fais quelque chose comme :

rm -rf `pipenv --venv`
pipenv install --dev

et cela semble faire le travail.

Remarque : vous devriez aussi probablement changer l'exigence dans le Pipfile de python 3.6 à 3.7.

J'espère que cela vous aidera, mais je me demande aussi s'il existe une solution plus robuste...

Tous les 12 commentaires

J'ai un problème similaire - où arch linux est passé de 3.6.5 à 3.7 et maintenant j'obtiens une erreur chaque fois que j'essaie d'exécuter pipenv. Ce qui fonctionne pour moi, mais c'est en effet un hack un peu moche, est d'abord de mettre à niveau pip, de réinstaller pipenv et pour chaque référentiel utilisant pipenv, d'effacer l'environnement virtuel et de le recréer.
Je fais quelque chose comme :

rm -rf `pipenv --venv`
pipenv install --dev

et cela semble faire le travail.

Remarque : vous devriez aussi probablement changer l'exigence dans le Pipfile de python 3.6 à 3.7.

J'espère que cela vous aidera, mais je me demande aussi s'il existe une solution plus robuste...

Cela est lié à la façon dont Homebrew configure Python. Il n'y a rien que Pipenv (ou aucune bibliothèque Python) ne puisse faire à ce sujet. N'installez PAS de choses sur un Homebrew Python si vous ne voulez pas que cela se produise. Si c'est le cas, la réinstallation est votre seule option.

Je me souviens avoir commenté un problème similaire il y a quelques jours, mais je ne pouvais pas le trouver pour le moment :(

@uranusjr N'est-ce pas recommandé par la doc ?

Oui donc?

Les installations Homebrew sont un peu compliquées et hors de notre contrôle, vous assumez un certain risque si vous les utilisez (aucun de nous n'utilise de Mac, nous ne pouvons donc pas vraiment vous en dire plus)

ce qui a fonctionné pour moi était
brew uninstall mkcert

Ce qui a fonctionné pour moi, c'est de supprimer tous mes envs : rm -rf /Users/william/.local/share/virtualenvs/* , et de réinstaller les envs avec pipenv install .

@omrihar pourquoi le drapeau --dev ? La documentation dit "Installez à la fois les packages de développement et les packages par défaut". Cela signifie-t-il installer des packages locaux (par exemple, python setup.py develop) ?

Edit: en utilisant pipenv installé sur brew (2018.11.26_2) avec python3.7. J'avais des problèmes lors de la phase de verrouillage de l'installation, par exemple Locking Failed! ou simplement suspendu à Locking

ce qui nous a aidé c'est :

$ brew uninstall pipenv
$ brew install python3.6
$ pip3 install --user pipenv
$ mkdir -p ~/bin
$ ln -s ../Library/Python/3.6/bin/pipenv ~/bin/

et si vous ne l'avez pas encore fait, ajoutez ~/bin/ à votre PATH en éditant la ligne PATH dans ~/.bash_profile :

...
PATH=/Users/{your_username}/bin:{the_content_that_was_there_before}
...

N'oubliez pas de fermer et d'ouvrir la coque

Je rencontrais ce problème et je l'ai résolu en exécutant conformément à la documentation

brew upgrade pipenv

J'ai rencontré le même problème après la mise à niveau de la version OSX.

Résolu en désinstallant l'installation homebrew puis en suivant les instructions "Installation pragmatique" :

pip install --user pipenv

N'oubliez pas d'ajouter le répertoire binaire de la base d'utilisateurs à votre PATH selon les instructions.

Salut, j'obtiens les mêmes erreurs, mais je ne sais pas ce que je dois désinstaller et comment.
J'ai essayé d'installer pipenv et j'ai obtenu les erreurs, puis j'ai vu qu'il n'était pas installé. et en regardant dans les journaux de brassage, je vois qu'il semble avoir installé python3.8, que AFAIK n'a pas été installé auparavant (j'utilise 3.7)

Essayer de désinstaller [email protected] n'a pas fonctionné car awscli en dépend, ce qui n'a aucun sens s'il n'a pas été installé avant...

Que dois-je généralement désinstaller pour résoudre ce problème ?
les seuls logs dans ~/Library/Logs/Homebrew sont de [email protected] à partir du moment de l'installation.
il me semble que je dois le désinstaller, semble-t-il? (peut-être qu'awscli a été mis à jour ou quelque chose du genre...)

Merci de votre aide.

La désinstallation de python a fait l'affaire. Merci

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