错误: 没有名为 Psycopg2.exts 的模块

我正在尝试为我的 django 项目建立一个 PostgreSQL 数据库,我相信我现在已经做到了,这要感谢对我最后一个问题 为 django 项目设置 postgreSQL 数据库的问题的回答。我现在尝试在 Terminal 中运行命令‘ python management. py runserver’来启动本地主机,但是当我运行该命令时,我看到了这个响应..。

Error: No module named psycopg2.extensions

我不知道这意味着什么——我曾试图下载 Psycopg2,但似乎找不到一种方法来下载 Psycopg2使用自制程序。我试过 easy _ install、 pip install 和 sudo,但所有返回的错误都是这样的..。

Downloading http://www.psycopg.org/psycopg/tarballs/PSYCOPG-2-4/psycopg2-2.4.5.tar.gz
Processing psycopg2-2.4.5.tar.gz
Writing /tmp/easy_install-l7Qi62/psycopg2-2.4.5/setup.cfg
Running psycopg2-2.4.5/setup.py -q bdist_egg --dist-dir /tmp/easy_install-l7Qi62/psycopg2-2.4.5/egg-dist-tmp-PBP5Ds
no previously-included directories found matching 'doc/src/_build'
unable to execute gcc-4.0: No such file or directory
error: Setup script exited with error: command 'gcc-4.0' failed with exit status 1

怎么补救?

230040 次浏览

I used the extension after only importing psycopg2:

import psycopg2


...


psycopg2.extensions.AsIs(anap[i])

It seems that you need gcc-4.0, and it would be helpful to specify your OS type and version.

Maybe this question will help you a bit: Installing GCC to Mac OS X Leopard without installing Xcode

Update

I'm a Windows user, so I can't test your setup, but a quick google pointed to some more links:

you can install gcc for macos from https://github.com/kennethreitz/osx-gcc-installer
after instalation of gcc you'll be able to install psycopg with easy_install or with pip

first install apt-get install python-setuptools

then try easy_install psycopg2

The first thing to do is to install the dependencies.

sudo apt-get build-dep python-psycopg2
sudo apt install python3-psycopg2 # Python 3

After that go inside your virtualenv and use:

pip install psycopg2-binary

These two commands should solve the problem.

Check if you have installed psycopg2 if not

sudo apt-get install psycopg2

Install the dependencies.

sudo apt-get build-dep python-psycopg2

These two commands should solve the problem.

This is what helped me on Ubuntu if your python installed from Ubuntu installer. I did this after unsuccessfully trying 'apt-get install' and 'pip install':

In terminal:

sudo synaptic

then in synaptic searchfield write

psycopg2

choose

python-psycopg2

mark it for installation using mouse right-click and push 'apply'. Of course, if you don't have installed synaptic, then first do:

sudo apt-get install synaptic

I installed it successfully using these commands:

sudo apt-get install libpq-dev python-dev
pip install psycopg2

In python 3.4, while in a virtual environment, make sure you have the build dependencies first:

sudo apt-get build-dep python3-psycopg2

Then install it:

pip install psycopg2

I encountered the No module named psycopg2.extensions error when trying to run pip2 install psycopg2 on a Mac running Mavericks (10.9). I don't think my stack trace included a message about gcc, and it also included a hint:

Error: pg_config executable not found.


Please add the directory containing pg_config to the PATH
or specify the full executable path with the option:


python setup.py build_ext --pg-config /path/to/pg_config build ...


or with the pg_config option in 'setup.cfg'.

I looked for the pg_config file in my Postgres install and added the folder containing it to my path: /Applications/Postgres.app/Contents/Versions/9.4/bin. Your path may be different, especially if you have a different version of Postgres installed - I would just poke around until you find the bin/ folder. After doing this, the installation worked.

try this:
sudo pip install -i https://testpypi.python.org/pypi psycopg2==2.7b2
.. this is especially helpful if you're running into egg error

on aws ec2 instances if you run into gcc error; try this
1. sudo yum install gcc python-setuptools python-devel postgresql-devel
2. sudo su -
3. sudo pip install psycopg2

For Django 2 and python 3 install psycopg2 using pip3 :

pip3 install psycopg2
pip install psycopg2-binary

The psycopg2 wheel package will be renamed from release 2.8; in order to keep installing from binary please use "pip install psycopg2-binary" instead. For details see: http://initd.org/psycopg/docs/install.html#binary-install-from-pypi.

On Alpine Linux (majority of the docker containers) do:

apk add postgresql-dev

Then:

pip install psycopg2-binary

For macOS Mojave just run pip install psycopg2-binary. Works fine for me, python version -> Python 3.7.2

This one worked for me

python manage.py migrate

I had such problem when trying to run python script as a sudo, while psycopg2 was installed via pip3 to my own user's directory.

I managed to resolve the issue for myself removing pip3 version, and just installing it via apt:

pip3 uninstall psycopg2
sudo apt install python3-psycopg2
pip3 install django-psycopg2-extension

I know i am late and there's lot of answers up here which also solves the problem. But today i also faced this problem and none of this helps me. Then i found the above magical command which solves my problem :-P . so i am posting this as it might be case for you too.
Happy coding.

This error raise because you not install postgres database in you project virtutal environment. you should run one of these command. from a terminal you can you command for sudo.

sudo apt-get install build-dep python-psycopg2

for pip (pip basically work for python)

pip install psycopg2

or

pip3 install psycopg2-binary

i'm pretty sure it will work for you.

I ran into this same issues recently and this code worked.

sudo apt-get install libpq-dev python-dev-is-python3

Then

pip3 install psycopg2