Presently, I'm attempting to configure Django for use on a project, and am encountering a persistent error when I try to run python manage.py syncdb.

File "/x/x/x/x/x/x/base.py", line 23, in ?
    raise ImproperlyConfigured("Error loading psycopg module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading psycopg module: No module named psycopg

The other discussions of a similar problem that I have found both here and on other sites ended up being solved by the user downloading and installing psycopg, but unless I'm missing something critical, I've done that several times. I downloaded the tarball, unpacked it on my server, ran python setup.py build and python setup.py install with a --prefix directing it to my existing Python Path...I can go and navigate to the folder and see the various psycopg files, but for whatever reason, when I try to get my new project to sync up with the database, it cannot find psycopg and, as a result, won't talk to the db.

Notes: hostmonster.com account, have tried multiple release versions of psycopg2.

score:0

First:

pip uninstall psycopg2

Then, load the direct file from http://www.stickpeople.com/projects/python/win-psycopg/

file name : = psycopg2-2.6.2.win-amd64-py2.7-pg9.5.3-release.exe

As per your requirement, and then copy this downloaded file to env folder and do this:

easy_install psycopg2-2.6.2.win-amd64-py2.7-pg9.5.3-release.exe(your file name)

This will copy required files.

score:0

It can happen if you don't have psycopg2 installed already.

I had this problem with the virtualenv, I simply installed psycopg2 and it is working fine. No need to edit the db configurations.

pip install psycopg2

Some more answer related to the same question

score:0

This Problem can be of any reason -

  1. You have downloaded the wrong version of pyscog2 that doesn't support the current version of the Django.

  2. You might have placed the pyscopg2 in the wrong directory.

  3. You might have downloaded the pyscopg2 without the virtual environment and then activated post-install so it may be showing error.

  4. Bad configuration of the virtual environment in manage.py leads to the error.

  5. See the proper configuration it may be taking pyscopg2 from the root folder rather than the virtual environment.

score:1

Run the below command in Command Line Prompt

pip install psycopg2

This will install psycopg2 and resolve the issue.

Related question

score:2

ERROR: Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: '/usr/local/lib/python3.7/dist-packages/psycopg2' Consider using the --user option or check the permissions.

if the above error shows then, please try installing with:

pip install psycopg2-binary --user

Then it finally works. There is no need to edit on DATABASE ENGINE.

score:2

python -m pip install psycopg2

score:3

I had this problem inside a python virtual environment (virtualenv), copying the library into the site-package of the environment from the system site packages solved the problem.

score:3

I was also receiving similar error, it simply means that it is unable to find the "psycopg2" package/module. I resolved it simply by installing it in my environment using the command:

pip install psycopg2

score:3

I hope this command will solve your problem (tested on ubuntu)

pip install psycopg2-binary

score:7

You try to load psycopg, not psycopg2. Make sure that ENGINE is set to django.db.backends.postgresql_psycopg2 in the settings.py of your project:

'ENGINE': 'django.db.backends.postgresql_psycopg2'

May be problem is: 32bit version of Python cannot load a 64bit version of psycopg2.

score:9

On MacOS, psycopgy2 v2.8.4 and its binary isn't compatible with python 3.8 yet.

Downgrade to python 3.7. All works.

1-  On mac (outside venv), Uninstall 3.8 and then install 3.7 using instructions: https://www.youtube.com/watch?v=X2VXCEfIgC0

2- Go to your django project main folder, delete 'venv' folder and 'manage.py'

3- Install new venv using python 3.7. command:  python3 -m venv ./venv

4- Run venv. Command: source ./venv/bin/activate

5- Install django in this new venv again. Command: pip3 install django This will create 'django-admin' under ./venv/bin/ and the django libraries.

6- Create manage.py like you would do for a new project again. Command: django-admin startproject <project folder> . (notice the '.' in end)

The command wont run as previous already exists. So before doing so, rename it to _temp and after running the command which creates a new folder, copy _temp contents to the new . Delete _temp.

7-Run: pip3 install psycopg2

and: pip3 install psycopg2-binary

(If you get an error pg_config executable not found error then run under venv, run following command before installing psycopg again:

export PATH=“/Applications/Postgres.app/Contents/Versions/latest/bin:$PATH)

score:11

Try to use this:

sudo apt-get install python-psycopg2

score:19

I had this problem on a virtualenv in Ubuntu 18.4. I solved it by installing psycopg2 v2.7.4:

pip install psycopg2==2.7.4

score:19

type pip install psycopg2-binary inside the virtualenv worked for me

score:84

I had the error as well; although psycopg2 was installed on my system using apt-get, my virtualenv couldn't find it:

>>> import psycopg2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named psycopg2

It was fixed by doing a pip install psycopg2-binary inside the virtualenv (or pip install psycopg2 for <2.8 psycopg2 versions).