69

目前,我正在尝试配置 Django 以在项目中使用,并且在尝试运行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

我在这里和其他网站上发现的类似问题的其他讨论最终被用户下载和安装 psycopg 解决了,但除非我错过了一些关键的东西,否则我已经做了好几次了。我下载了压缩包,在我的服务器上解压,运行python setup.py buildpython setup.py install使用 --prefix 将其指向我现有的 Python 路径...我可以导航到该文件夹​​并查看各种 psycopg 文件,但无论出于何种原因,当我尝试让我的新项目与数据库同步,它找不到 psycopg,因此不会与数据库对话。

备注:hostmonster.com 账号,曾尝试过多个发布版本的 psycopg2。

4

15 回答 15

81

我也有错误;虽然psycopg2使用 安装在我的系统上apt-get,但我的 virtualenv 找不到它:

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

它通过pip install psycopg2-binary在 virtualenv 内部进行修复(或pip install psycopg2<2.8 psycopg2 版本)。

于 2014-03-15T11:49:03.993 回答
19

virtualenv我在 Ubuntu 18.4 中遇到了这个问题。我通过安装 psycopg2 v2.7.4 解决了这个问题:

pip install psycopg2==2.7.4
于 2018-05-30T23:12:19.353 回答
16

pip install psycopg2-binary在 virtualenv 中输入对我有用

于 2020-09-04T20:27:06.597 回答
11

尝试使用这个:

sudo apt-get install python-psycopg2
于 2014-07-25T07:05:08.013 回答
8

在 MacOS 上,psycopgy2 v2.8.4 及其二进制文件与 python 3.8 尚不兼容。

降级到 python 3.7。所有作品。

1- 在 mac(venv 之外)上,卸载 3.8,然后使用说明安装 3.7:https ://www.youtube.com/watch?v=X2VXCEfIgC0

2- 转到您的 django 项目主文件夹,删除“venv”文件夹和“manage.py”

3- 使用 python 3.7 安装新的 venv。命令:  python3 -m venv ./venv

4-运行venv。命令:source ./venv/bin/activate

5- 再次在这个新的 venv 中安装 django。命令:pip3 install django 这将在 ./venv/bin/ 和 django 库下创建“django-admin”。

6- 创建 manage.py 就像你再次为一个新项目做的那样。命令:(django-admin startproject <project folder> . 注意末尾的“.”)

该命令不会像以前一样运行。因此,在这样做之前,将其重命名为 _temp 并在运行创建新文件夹的命令后,将 _temp 内容复制到新的 . 删除_temp。

7-运行:pip3 install psycopg2

和:pip3 install psycopg2-binary

(如果您收到错误 pg_config executable not found 错误然后在 venv 下运行,请在再次安装 psycopg 之前运行以下命令:

export PATH=“/Applications/Postgres.app/Contents/Versions/latest/bin:$PATH)
于 2019-12-16T20:28:53.933 回答
7

您尝试加载 psycopg,而不是 psycopg2。确保在项目的 settings.py 中将 ENGINE 设置为 django.db.backends.postgresql_psycopg2:

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

可能的问题是:32 位版本的 Python 无法加载 64 位版本的 psycopg2。

于 2011-11-23T06:14:08.983 回答
3

我在python虚拟环境(virtualenv)中遇到了这个问题,将库从系统站点包复制到环境的站点包中解决了这个问题。

于 2012-03-10T15:48:31.097 回答
3

我希望这个命令能解决你的问题(在 ubuntu 上测试过)

pip install psycopg2-binary
于 2020-07-12T10:34:36.437 回答
3

我也收到了类似的错误,这只是意味着它无法找到“psycopg2”包/模块。我只是通过使用以下命令在我的环境中安装它来解决它:

pip install psycopg2

于 2018-08-30T09:51:16.597 回答
2

错误:由于 EnvironmentError 无法安装软件包:[Errno 13] 权限被拒绝:'/usr/local/lib/python3.7/dist-packages/psycopg2' 考虑使用该--user选项或检查权限。

如果出现上述错误,请尝试安装:

pip install psycopg2-binary --user

然后它终于起作用了。无需在 DATABASE ENGINE 上进行编辑。

于 2019-06-03T01:26:49.673 回答
1
python -m pip install psycopg2
于 2020-08-22T02:03:16.137 回答
1

在命令行提示符中运行以下命令

点安装 psycopg2

这将安装 psycopg2 并解决问题。

于 2020-12-17T09:07:18.800 回答
0

如果您尚未psycopg2安装,可能会发生这种情况。

我在 virtualenv 上遇到了这个问题,我只是安装了psycopg2它,它工作正常。无需编辑数据库配置。

pip install psycopg2

于 2019-07-29T05:34:48.733 回答
0

这个问题可以是任何原因 -

  1. 您下载了不支持当前版本 Django 的错误 pyscog2 版本。

  2. 您可能将 pyscopg2 放在了错误的目录中。

  3. 您可能在没有虚拟环境的情况下下载了 pyscopg2,然后在安装后激活,因此它可能会显示错误。

  4. manage.py 中虚拟环境配置错误导致报错。

  5. 查看它可能从根文件夹而不是虚拟环境中获取 pyscopg2 的正确配置。

于 2020-08-09T20:38:36.243 回答
0

第一的:

pip uninstall psycopg2

然后,从http://www.stickpeople.com/projects/python/win-psycopg/加载直接文件

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

根据您的要求,然后将此下载的文件复制到 env 文件夹并执行以下操作:

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

这将复制所需的文件。

于 2018-03-14T12:53:25.577 回答