web-dev-qa-db-fra.com

Comment réparer le point d'entrée introuvable lors de l'installation des bibliothèques dans un environnement conda

Je travaille sur anaconda en y créant plusieurs environnements. J'ai créé n'importe quel environnement camelot alors maintenant je veux installer dans différentes bibliothèques de cet environnement. Donc par exemple j'installe pandas dans cet environnement (camelot), j'écris:

conda install pandas 

ou

conda install -c conda-forge camelot-py

Ensuite, cela me donne une erreur:

python.exe-Entry Point Not Found
   The procedure entry point OPENSSL_sk_new_reserve could not be 
   located in the dynamic link library.
   C:\Users\abc\Anaconda3\Library\bin\libssl11_-x64.dll

J'ai d'abord pensé que cela pouvait être une erreur en raison de la variable d'environnement, j'ai défini la variable d'environnement pour pyhton mais cela n'a pas pu être résolu

24
Usman Ghani Mughal

comme il est suggéré dans ici Je pourrais résoudre ce problème en copiant libssl-1_1-x64 dlls dans Anaconda/DLLS à Anaconda/Library/bin (probablement en le remplaçant)

39
M. Chavoshi

J'ai eu le même problème lors de la mise à jour du navigateur Anaconda et je l'ai résolu en remplaçant le fichier libssl-1_1-x64.dll dans Anaconda3/Library/bin avec celui de Anaconda3/DLL .

13
Divya Lekha

J'ai eu exactement le même problème, et il vient également de commencer aujourd'hui. En quelque sorte détruit toute ma journée de travail, tbh ...

J'ai accidentellement fait un conda install ... dans mon environnement de base, et il a mis à jour conda et une poignée d'autres modules. (Conda est passé du 4.5.12 au 4.7.10, dans mon cas.) Quoi qu'il en soit, après l'avoir annulé, les choses fonctionnent à nouveau comme prévu.

Si c'est ce qui cause votre problème, voici une solution.

  1. conda list --revisions

  2. conda install --revision 1 (Dans mon cas, "rev 1" était mon environnement de base stable le plus récent.)

(Plus de détails à ce sujet: https://sriramjaju.github.io/2018-05-30-2-minute-recipe-how-to-rollback-your-conda-environment/ )

Maintenant, je crains d'avoir configuré par inadvertance quelque chose d'une manière qui n'est pas compatible avec la dernière version de conda.

Enfin, si vous avez vraiment besoin d'installer des modules et de faire un travail DÈS QUE POSSIBLE, pip install [module name] travaillait toujours pour moi avant de penser à faire la réversion.

7
Matthew Black

Pour ceux qui ont encore des problèmes similaires avec libssl11_-x64.dll ou autre .dll des dossiers:

Utilisez pip install à la place si vous le pouvez!


J'ai eu le même problème aujourd'hui avec libcrypto-1_1-x64.dll lorsque vous essayez d'installer de façon compliquée en utilisant

conda install -c plotly plotly

Cela provoque une rétrogradation pour anaconda, et à son tour soulève l'erreur:

OPENSSL_sk_new_reserve [...] libcrypto-1_1-x64.dll

Au lieu de cela, en utilisant par exemple

pip install plotly==4.1.0

fonctionne comme un charme!

3
vestland

Comme mentionné par un mainteneur d'Anaconda ici ...

déplacer des DLL libssl comme ça n'est vraiment pas conseillé. Ces DLL sont dupliquées car vous avez quelque chose de louche dans vos packages. Il ne doit pas y avoir de DLL openssl dans le dossier DLL. Ils devraient être dans la bibliothèque/bin

En consultant les fichiers JSON du répertoire conda-meta, J'ai découvert que DLLs\libssl-1_1-x64.dll Était installé par le package python 3.7.0 Et que Library\bin\libssl-1_1-x64.dll Était installé par le openssl package. Après une enquête plus approfondie, j'ai découvert que Python 3.7.0 n'installait pas OpenSSL en tant que package séparé, mais Python 3.7. 1 (et versions ultérieures) fait .

La mise à niveau de Python se déroule généralement comme prévu, mais si vous vous retrouvez avec les packages python 3.7.0 Et openssl installés simultanément, il y aura deux fichiers libssl-1_1-x64.dll Et votre distribution Anaconda sera cassé. (Vous pouvez facilement vérifier cela avec la commande conda list.)

Je pense que la meilleure façon de le corriger est donc:

  1. Renommez Library\bin\libssl-1_1-x64.dll En Library\bin\libssl-1_1-x64.dll.org (Vous en aurez besoin plus tard.)

  2. Copiez DLLs\libssl-1_1-x64.dll Dans Library\bin\libssl-1_1-x64.dll

  3. Mettez à jour Python vers la version 3.7.1 ou supérieure, par exemple avec conda update python. Cela supprimera le fichier DLLs\libssl-1_1-x64.dll.

  4. Renommez Library\bin\libssl-1_1-x64.dll.org En Library\bin\libssl-1_1-x64.dll. Ceci est nécessaire car j'ai eu des erreurs HTTP à l'étape suivante sinon.

  5. Réinstallez OpenSSL avec conda install openssl --force-reinstall Pour vous assurer qu'il est à nouveau à jour.

2
titusjan

Mon problème était le même. Je viens de désinstaller anaconda et de l'installer à nouveau. Et le problème a été résolu.

0
Özlem Hüma