Installing psycopg2 (postgresql) in virtualenv on

2019-01-23 12:18发布

问题:

I installed psycopg2 in virtualenv using easy_install psycopg2. I did not see any errors and looks like installation went fine.. there is an egg file created in the site-packages dir for psycopg2..

but when I run import psycopg2 in the interpreter, I am getting following error.. any clue? How can I fix it.. any other way to install psycopg2 in virtualenv..

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "build\bdist.win32\egg\psycopg2\__init__.py", line 69, in <module>
  File "build\bdist.win32\egg\psycopg2\_psycopg.py", line 7, in <module>
  File "build\bdist.win32\egg\psycopg2\_psycopg.py", line 6, in __bootstrap__

Thanks.

回答1:

Edit: this solution is outdated. Refer to this answer instead.

I had the same problem. Following the suggestion on the download page of the Windows port for getting it working on Zope worked for me under virtualenv (also in the non-virtual install):

  1. Download the executable, rename the .exe extension to .zip
  2. Extract the file contents.
  3. Copy the psycopg2 folder to MyEnv/Lib
  4. Copy the egg to MyEnv/Lib/site-packages


回答2:

Have you checked that PostgreSQL's 'bin' directory is on the system path? Check with a quick typing of 'set' and see what you get.

This is the most common cause of import failures of psycopg2 on Windows.



回答3:

There is an alternative to install python packages in your computer i.e, pip . You can download python packages by just executing:-

    pip install pyscopg2

The general format of the command is

    pip install [package-name]

P.S:- To install python packages globally through pip

    sudo pip install [package-name]