6

I have Django project which uses postgresql 9. I installed psycopg2 and when I run project I receive 'Error loading psycopg2 module: dll load failed'. I met this issue for the first time. I have windows 7 x64 with python2.7. How can I solve this one?

Roberto Alarcon
  • 1,430
  • 2
  • 18
  • 32
szaman
  • 6,666
  • 13
  • 53
  • 81
  • For me it threw an exception because pip installed package into python 3.8 folder, while I was running python 3.10. If anyone encounters such a problem, they might need to run pip3.10 ... instead – Sviatozar Petrenko Feb 11 '22 at 18:14

2 Answers2

6

I had the same problem, it was that psycopg2 does not install well in Windows with _easy_install_, I followed the instructions on the follow SO answer:

Installing psycopg2 (postgresql) in virtualenv on windows

You need to manually install the psycopg2 exe file:

psycopg2-2.4.2.win-amd64-py2.7-pg9.0.4-release.exe

Community
  • 1
  • 1
Roberto Alarcon
  • 1,430
  • 2
  • 18
  • 32
  • 1
    Alternatively download the relevant psycopg2 .whl file from https://pypi.python.org/pypi/psycopg2, then at the prompt ensure you are in your virtual env, and do pip install c:\users\me\downloads\whatever.whl – Alan B Aug 18 '17 at 15:25
1

I know this is going to haunt me again or as nwcell puts it:

Every time I need to set up psycopg2 on windows, I wind up wanting to shoot something.

I actually have a machine with it working and I've been at pains to setup another machine. I installed Python 3.8 and the old PC has 3.7.4. The main difference was the file:

C:\project\venv\Lib\site-packages\psycopg2_psycopg.cp37-win32.pyd

On the new PC it was showing as AMD64. I eventually uninstalled 3.8 and reverted back to 3.7.4, then I copied the files from the old PC to the new and then I hit this error:

https://stackoverflow.com/a/37819509/495455

Going to a WayBackMachine version of the stickpeople:

https://web.archive.org/web/20191003103502/http://www.stickpeople.com/projects/python/win-psycopg/

I didn't install the exe, I simply did a pip install -Iv psycopg2-binary==2.8.4 at which point it started working. So I'm thinking the latest version doesn't work, for me 2.8.4 still works: https://pypi.org/project/psycopg2/#files

It's something to do with x64 as everything I tried with AMD64 didn't work and I spent ages on it.

Jeremy Thompson
  • 61,933
  • 36
  • 195
  • 321