为什么django在django2.2和python 3.8中找不到模块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中可用的任何解决方案,但此错误不会消失 settings.py中的数据库:为什么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中可用的任何解决方案,但此错误
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?