How to Fix Entry Point Not Found while installing libraries in conda environment

后端 未结 7 1695
逝去的感伤
逝去的感伤 2020-12-13 02:10

I\'m working on anaconda by making multiple environments in it. I have made any environment camelot so now I want to install in different libraries in this envi

7条回答
  •  星月不相逢
    2020-12-13 02:47

    As mentioned by an Anaconda maintainer here ...

    moving libssl dlls around like that is really not advisable. Those DLLs are duplicated because you have something fishy going on in your packages. There should not be any openssl DLLs in the DLLs folder. They should be in Library/bin

    By looking at the JSON files in the conda-meta directory I found out that DLLs\libssl-1_1-x64.dll was installed by the python 3.7.0 package, and Library\bin\libssl-1_1-x64.dll was installed by the openssl package. After further investigation I found out that Python 3.7.0 does not install OpenSSL as a separate package, but Python 3.7.1 (and later) does.

    Typically upgrading Python goes as expected, but if you somehow end up with both python 3.7.0 and openssl packages installed simultaneously there will be two libssl-1_1-x64.dll files and your Anaconda distribution will be broken. (You can easily verify this with the conda list command.)

    I think the best way to fix it is therefore:

    1. Rename Library\bin\libssl-1_1-x64.dll to Library\bin\libssl-1_1-x64.dll.org (your are going to need it later.)

    2. Copy DLLs\libssl-1_1-x64.dll to Library\bin\libssl-1_1-x64.dll

    3. Update Python to version 3.7.1 or higher, for instance with conda update python. This will remove the DLLs\libssl-1_1-x64.dll file.

    4. Delete the current Library\bin\libssl-1_1-x64.dll file.

    5. Rename Library\bin\libssl-1_1-x64.dll.org back to Library\bin\libssl-1_1-x64.dll. This is necessary because I got HTTP errors in the next step otherwise.

    6. Reinstall OpenSSL with conda install openssl --force-reinstall to ensure it's up to date again.

提交回复
热议问题