Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么django在django2.2和python 3.8中找不到模块psycopg2_Python_Django_Psycopg2 - Fatal编程技术网

为什么django在django2.2和python 3.8中找不到模块psycopg2

为什么django在django2.2和python 3.8中找不到模块psycopg2,python,django,psycopg2,Python,Django,Psycopg2,我安装了django 2.2.10、python 3.8和psycopg2.8.4,但当我尝试使用命令(python manage.py migrate)进行迁移时,会遇到以下错误: raise配置不正确(“加载psycopg2模块时出错:%s”%e) django.core.exceptions.ImpropertlyConfigured:加载psycopg2模块时出错:没有名为“psycopg2”的模块 32位的psycopg2。我尝试stackoverflow中可用的任何解决方案,但此错误

我安装了django 2.2.10、python 3.8和psycopg2.8.4,但当我尝试使用命令(python manage.py migrate)进行迁移时,会遇到以下错误:

raise配置不正确(“加载psycopg2模块时出错:%s”%e) django.core.exceptions.ImpropertlyConfigured:加载psycopg2模块时出错:没有名为“psycopg2”的模块

32位的psycopg2。我尝试stackoverflow中可用的任何解决方案,但此错误不会消失

settings.py中的数据库:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'postgres',
        'USER': 'seyyedh',
        'PASSWORD' : '123456',
        'HOST':'localhost',
        'PORT' : '5432',
    }
}
编辑: 对不起,我没有读你的配置。 如果您使用的是Postgresql,那么引擎设置应该是“django.db.backends.Postgresql”,而不是“django.db.backends.Postgresql\u psycopg2”:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'postgres',
        'USER': 'seyyedh',
        'PASSWORD' : '123456',
        'HOST':'localhost',
        'PORT' : '5432',
    }
}
如你所见。您可能不应该使用初始的postgres DB(如“NAME”中所述),而是为django项目创建一个新的数据库

初始答案: 您是否碰巧使用了另一个python环境,而不是为您的项目配置的环境

例如,如果您为项目创建了虚拟环境,并在IDE中配置了用于运行应用程序等的虚拟环境,但对于迁移调用,您使用的是python系统环境

如果打开用于迁移的python环境的交互式shell,并键入:

help('modules')

必须列出psycopg2

pip安装psycopg2二进制文件

(或)


pip安装psycopg2
for我知道在主虚拟环境运行时,psycopg2安装在另一个虚拟环境上
因此,我取消了虚拟环境的安装并解决了错误

我不认为这是答案,但请注意,正确的引擎名称是:
django.db.backends.postgresql
。您应该删除
\u psycopg2
部分您仍然会收到相同的错误吗?您是否创建了一个新的数据库,并使用它而不是“postgres”-DB?