34

I'm working on Anaconda by making multiple environments in it. I have made an environment camelot and now I want to install different libraries in this environment. So for example to install pandas in this environment, I'm writing:

conda install pandas 

or

conda install -c conda-forge camelot-py

Then it gives me this error:

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

First I thought it may be because of the environment variable, thus I set an environment variable for Python, but this did not resolve the issue.

Wouter
  • 534
  • 3
  • 14
  • 22
Usman Ghani Mughal
  • 613
  • 2
  • 7
  • 14
  • The following solved the issue for me https://github.com/conda/conda/issues/9003#issuecomment-539348297 – Maz Oct 18 '19 at 00:32
  • @UsmanGhaniMughal You've received a number of working suggestions. Please consider marking one of the as the accepted answer. – vestland Jul 02 '20 at 21:21

7 Answers7

58

as it is suggested in here I could solve this problem by copying libssl-1_1-x64 dlls in Anaconda/DLLS to Anaconda/Library/bin (probably replacing it)

M. Chavoshi
  • 1,023
  • 9
  • 17
  • Just copying DLLs is not advisable. See my [answer below](https://stackoverflow.com/a/59884311/625350) – titusjan Jan 23 '20 at 17:44
17

I got the same issue while updating Anaconda navigator, and got it over by replacing the file libssl-1_1-x64.dll in Anaconda3/Library/bin with the one from Anaconda3/DLLs.

Divya Lekha
  • 171
  • 5
13

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.

Hasal
  • 98
  • 2
  • 6
titusjan
  • 5,376
  • 2
  • 24
  • 43
9

I had the exact same issue, and it also just started today. Kind of destroyed my entire work day, tbh...

I accidentally did a conda install ... in my base environment, and it updated conda and a handful of other modules. (Conda went from 4.5.12 to 4.7.10, in my case.) Anyway, after I rolled it back, things are working as expected again.

If this is what's causing your issue, here's a fix.

  1. conda list --revisions

  2. conda install --revision 1 (In my case "rev 1" was my most recent, stable base environment.)

(More details about this: https://sriramjaju.github.io/2018-05-30-2-minute-recipe-how-to-rollback-your-conda-environment/)

Now I'm worried that I've inadvertently configured something in a way that isn't compatible with the newest version of conda.

Edit: Don't follow this last suggestion if you're doing anything other than playing around in a conda environment to test-drive modules. See this and this.

Lastly, if you really need to install modules and do some work ASAP, pip install [module name] was still working for me before I thought to do the reversion thing.

  • Yes! same thing for me I just update conda in my base env, and yes pip is woking fine but cannot install any thing using conda. Do you have any idea about how to use, camelot packge? – Usman Ghani Mughal Jul 30 '19 at 07:08
  • Sorry, I don't have any experience with camelot. Were you able to revert to an earlier revision and get conda working again, though? – Matthew Black Jul 30 '19 at 14:46
  • I have uninstall anaconda fully and then reinstall it now it's working I don't know how but it's working I think it's because of conda update I did before in my base env – Usman Ghani Mughal Jul 30 '19 at 14:59
  • I'm glad to hear it! Good luck with camelot. :) – Matthew Black Jul 30 '19 at 15:23
  • Thank you man! This solution works in my case as well !. I am not sure why the updated conda version has this problem! – J.K Sep 13 '19 at 20:47
  • 1
    Your recommendation is not good for people using conda environments. The OP's question is about resolving issues in the conda environment. Using pip within conda environments can corrupt the conda environment, because pip does not do environment consistency checking for conda environments. It puts packages into the environment that conda is subsequently not aware of. For more information see conda man pages: https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html#using-pip-in-an-environment – Rich Lysakowski PhD Aug 31 '20 at 18:05
  • @RichLysakowskiPhD Good callout. I've edited my response. Cheers! – Matthew Black Sep 01 '20 at 19:36
3

My problem was same. I just uninstalled anaconda, and install it again. And the problem solved.

Hüma
  • 29
  • 3
2

I was receiving the same following error while updating spyder and conda package.

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

solution:

  • I did replace libssl-1_1-x64 dlls from Anaconda/DLLs to Anaconda/Library/bins as suggested here.
  • Before opening Anaconda Navigator desktop app, I updated conda in Anaconda Prompt using conda update conda. conda successfully updated.
  • Then I have updated spyder using conda update spyder command in Anaconda Prompt. spyder updated and running successfully.
Pathik
  • 21
  • 3
  • 1
    This appears to have solved an issue I've been suffering for too long. I haven't been able to use conda install for months due to dll errors. I just tried after doing what is suggested in @Pathik's answer here and it worked! This is so helpful to me, thank you! – Casivio Oct 01 '20 at 23:46
0

For those still having similar issues with libssl11_-x64.dll or other .dll files:

Use pip install instead if you can!


I had the same issue today with libcrypto-1_1-x64.dll when trying to install plotly using

conda install -c plotly plotly

This prompts a downgrade for anaconda, and in turn raises the error:

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

Instead, using for example

pip install plotly==4.1.0

works like a charm!

vestland
  • 55,229
  • 37
  • 187
  • 305
  • 1
    Your answer is off-topic and a bad recommendation for people using conda environments. The OP's question is about resolving issues in the conda environment. Using pip within conda environments can corrupt the conda environment, because pip does not do environment consistency checking for conda environments. It puts packages into the environment that conda is subsequently not aware of. For more information see conda manual https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html#using-pip-in-an-environment – Rich Lysakowski PhD Aug 31 '20 at 18:00
  • @RichLysakowskiPhD Thank you for the feedback! Please provide a better solution if you have one. And if you should feel so inclined, feel free to flag my answer as either `Not an answer`, or `In need of moderator intervention`. In the latter case, don't forget to leave a specific and detailed explanation. – vestland Aug 31 '20 at 18:32