django.core.exceptions.ImproperlyConfigured:加载psycopg模块时出错:没有名为psycopg的模块

use*_*270 42 python django module psycopg2 django-manage.py

目前,我正在尝试将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
Run Code Online (Sandbox Code Playgroud)

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

注意:hostmonster.com帐号,已经尝试了psycopg2的多个发行版本.

Sae*_*aeX 42

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

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

通过pip install psycopg2-binary在virtualenv中做一个内部来修复它.

  • `UserWarning:psycopg2 轮包将从 2.8 版开始重命名;为了继续从二进制安装,请改用“pip install psycopg2-binary”` (4认同)
  • 我尝试使用“pip install psycopg2-binary”修复此问题并解决 (3认同)

小智 9

试着用这个:

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

  • sudo apt-get install python3-psycopg2 (3认同)

Her*_*ssi 9

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

pip install psycopg2==2.7.4
Run Code Online (Sandbox Code Playgroud)

  • 谢谢!这对我也有用。我的requirements.txt psycopg2==2.8.3 曾经工作没有任何问题。无论如何,您知道为什么旧版本现在可以使用而不是最新版本吗? (2认同)

小智 9

键入pip install psycopg2-binary我的工作里面的virtualenv


ser*_*ach 6

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

'ENGINE': 'django.db.backends.postgresql_psycopg2'
Run Code Online (Sandbox Code Playgroud)

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


小智 6

我也收到类似的错误,它只是意味着它无法找到“psycopg2”包/模块。我只需使用以下命令将其安装在我的环境中即可解决该问题:

pip install psycopg2


Zac*_*eed 6

在 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)
Run Code Online (Sandbox Code Playgroud)