错误:没有名为psycopg2.extensions的模块

时间:2012-10-04 13:08:50

标签: python django postgresql psycopg2

我正在尝试为我的django项目设置一个PostgreSQL数据库,我相信我现在已经完成了,这要归功于我对上一个问题Problems setting up a postgreSQL database for a django project的回复。我现在正在尝试运行命令' python manage.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

如何解决这个问题?

20 个答案:

答案 0 :(得分:133)

首先要做的是安装依赖项。

sudo apt-get build-dep python-psycopg2

之后进入你的virtualenv并使用

pip install psycopg2-binary

这两个命令应该可以解决问题。

答案 1 :(得分:11)

pip install psycopg2-binary

psycopg2 wheel包将从2.8版重命名;为了保持二进制安装,请使用" pip install psycopg2-binary"代替。有关详细信息,请参阅:http://initd.org/psycopg/docs/install.html#binary-install-from-pypi

答案 2 :(得分:5)

首先安装apt-get install python-setuptools

然后尝试easy_install psycopg2

答案 3 :(得分:5)

我使用以下命令成功安装了它:

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

答案 4 :(得分:4)

如果从Ubuntu安装程序安装了python,这对Ubuntu有帮助。在尝试'apt-get install'和'pip install'失败后我做到了这一点:

在终端:

sudo synaptic

然后在synaptic searchfield中写

psycopg2

选择

python-psycopg2

使用鼠标右键单击并按“应用”标记安装。当然,如果你没有安装synaptic,那么首先要做:

sudo apt-get install synaptic

答案 5 :(得分:3)

在python 3.4中,在虚拟环境中,确保首先拥有构建依赖项:

sudo apt-get build-dep python3-psycopg2

然后安装它:

pip install psycopg2 

答案 6 :(得分:2)

我最近遇到了同样的问题,这段代码有效。

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

然后

pip3 install psycopg2

答案 7 :(得分:2)

使用Sub Main() Console.WriteLine("Sentence Analysis") Console.WriteLine() Console.WriteLine("Enter a sentence then press 'Enter'") Console.WriteLine() Dim sentence As String sentence = Console.ReadLine() Dim vowel_count As Integer = sentence.Count(Function(c) "aeiou".Contains(Char.ToLower(c))) Dim word_count As Integer = sentence.Count(Function(c) " ".Contains(Char.ToLower(c))) Console.WriteLine("Your sentence contains {0} words.", word_count) Console.WriteLine("Your sentence contains {0} vowels.", vowel_count) Console.ReadLine() End Sub Django 2python 3安装psycopg2

pip3

答案 8 :(得分:1)

试试这个:
sudo pip install -i https://testpypi.python.org/pypi psycopg2 == 2.7b2
..如果你遇到鸡蛋错误,这会特别有用

如果遇到gcc错误,请在aws ec2实例上

;试试这个 1。 sudo yum install gcc python-setuptools python-devel postgresql-devel
2. sudo su -
3. sudo pip install psycopg2

答案 9 :(得分:1)

尝试通过sudo运行python脚本时遇到了这样的问题,而psycopg2是通过pip3安装到我自己用户的目录中的。

我设法解决了自己删除pip3版本并仅通过apt安装它的问题:

pip3 uninstall psycopg2
sudo apt install python3-psycopg2

答案 10 :(得分:1)

这个为我工作

python manage.py migration

答案 11 :(得分:1)

尝试在运行Mavericks(10.9)的Mac上运行No module named psycopg2.extensions时遇到pip2 install psycopg2错误。我不认为我的堆栈跟踪包含有关gcc的消息,它还包含一个提示:

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'.

我在Postgres安装中查找了pg_config文件,并将包含它的文件夹添加到我的路径中:/Applications/Postgres.app/Contents/Versions/9.4/bin。您的路径可能会有所不同,特别是如果您安装了不同版本的Postgres - 我会直到您找到bin/文件夹。完成此操作后,安装工作正常。

答案 12 :(得分:1)

您似乎需要gcc-4.0,指定您的操作系统类型和版本会很有帮助。

也许这个问题会对你有所帮助:Installing GCC to Mac OS X Leopard without installing Xcode

<强>更新

我是Windows用户,因此我无法测试您的设置,但快速谷歌指向了更多链接:

答案 13 :(得分:0)

我在导入psycopg2之后使用了扩展名:

import psycopg2

...

psycopg2.extensions.AsIs(anap[i])

答案 14 :(得分:0)

在Alpine Linux(大多数Docker容器)上,请执行以下操作:

apk add postgresql-dev

然后:

pip install psycopg2-binary

答案 15 :(得分:0)

对于macOS Mojave,只需运行pip install psycopg2-binary。对我来说效果很好,python版本-> Python 3.7.2

答案 16 :(得分:0)

检查您是否已安装psycopg2

sudo apt-get install psycopg2

安装依赖项。

sudo apt-get build-dep python-psycopg2

这两个命令应该可以解决问题。

答案 17 :(得分:0)

您可以从https://github.com/kennethreitz/osx-gcc-installer安装mac for gos 安装gcc后,您将能够使用easy_installpip

安装psycopg

答案 18 :(得分:0)

pip3 install django-psycopg2-extension

我知道我来晚了,这里有很多答案,也可以解决问题。但是今天我也遇到了这个问题,但这都没有帮助我。然后我发现了上面神奇的命令,解决了我的问题:-P。因此,我也发布了此信息,因为您也可能遇到这种情况。
编码愉快。

答案 19 :(得分:0)

这个错误是因为你没有在你的项目虚拟环境中安装 postgres 数据库。您应该运行这些命令之一。 您可以从终端命令 sudo。

sudo apt-get install build-dep python-psycopg2

对于 pip(pip 基本上适用于 python)

pip install psycopg2

pip3 install psycopg2-binary

我很确定它对你有用。