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

Jes*_*ess 70 python django postgresql psycopg2

我正在尝试为我的django项目建立一个PostgreSQL数据库,我相信我现在已经完成了,这要归功于我为django项目设置postgreSQL数据库时遇到的问题.我现在正试图在终端中运行命令'python manage.py runserver'来获取我的本地主机但是当我运行命令时,我看到这个响应...

Error: No module named psycopg2.extensions
Run Code Online (Sandbox Code Playgroud)

我不确定这意味着什么 - 我试图下载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
Run Code Online (Sandbox Code Playgroud)

如何解决这个问题?

Fer*_*noz 142

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

sudo apt-get build-dep python-psycopg2
Run Code Online (Sandbox Code Playgroud)

之后进入你的virtualenv并使用

pip install psycopg2-binary
Run Code Online (Sandbox Code Playgroud)

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

  • 对于Python 3,`sudo apt-get build-dep python3-psycopg2` (8认同)
  • 我必须说我永远不会再使用除pip以外的任何东西,它更好!-) (7认同)
  • 使用apt构建依赖关系,然后使用pip安装有什么意义?单个命令`sudo apt-get install python-psycopg2`出了什么问题?它对我来说很好. (6认同)
  • 在尝试上述任何命令时得到“您必须在您的 sources.list 中放入一些“源”URI (3认同)
  • @nba2020:sudo apt-get...?这些是 psycopg2-binary 的 Linux (debian/mint/ubuntu) 先决条件。如果您使用 Windows 或类似的东西,您应该找到 psycopg2-binary 的 Windows 先决条件,并在安装 psycopg2-binary 之前应用它们。或者也许(我不确定)您可以跳过先决条件并安装 psycopg2 而不是 psycopg2-binary,它可以工作。然而 psycopg2(不带 -binary)已被弃用,因此如果您尝试正确安装 psycopg2-binary 会更好。 (2认同)

Cha*_* 木匠 14

pip install psycopg2-binary
Run Code Online (Sandbox Code Playgroud)

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


Ale*_*lig 7

对于Django 2python 3安装psycopg2使用pip3

pip3 install psycopg2
Run Code Online (Sandbox Code Playgroud)


Kan*_*nke 6

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


use*_*633 5

首先安装 apt-get install python-setuptools

然后试试 easy_install psycopg2


has*_*abi 5

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

sudo apt-get install libpq-dev python-dev
pip install psycopg2
Run Code Online (Sandbox Code Playgroud)


f p*_*f p 1

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

import psycopg2

...

psycopg2.extensions.AsIs(anap[i])
Run Code Online (Sandbox Code Playgroud)