Django 在执行 python manage.py runserver-“raise ImproperlyConfigured("Error loading psycopg2 modul

Posted

技术标签:

【中文标题】Django 在执行 python manage.py runserver-“raise ImproperlyConfigured("Error loading psycopg2 module: %s" % e)”时出现基于 PostGreSql 的错误【英文标题】:Django based on PostGreSql error while executing python manage.py runserver- "raise ImproperlyConfigured("Error loading psycopg2 module: %s" % e)" 【发布时间】:2015-08-15 04:41:22 【问题描述】:

我正在 Windows 操作系统上创建一个基于 PostGreSql 的 Django 项目。

我可以成功下载 Postgresql (32bits) 和 psycopg2。我使用 32 位 Python2.7.9 和我的 Postgresql - 9.3.7 32 位。

    import psycopg2 不会抛出任何错误。 我可以在 Python27\Lib\site-packages 中找到一个 psycopg2 文件夹

    我的 settings.py 包含以下内容:

    数据库 = '默认': '引擎': 'django.db.backends.postgresql_psycopg2', 'NAME': 'testdb' , '用户':'postgres', '密码':'paggu', '主机':'本地主机', '端口':'5432',

但是当我尝试执行命令-python manage.py runserver 或 python manage.py syncdb 时,我仍然收到以下错误

raise ImproperlyConfigured("Error loading psycopg2 module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading psycopg2 module: DLL
load failed: The specified module could not be found.

我不确定我是否错过了什么。

我查看了有关此问题的其他 Stack Overflow 帖子,但似乎没有找到任何解决方案。

【问题讨论】:

你在使用 virtualenv 吗?你确定安装包的环境和项目环境是一样的吗? 不,我没有使用 virtualenv。 【参考方案1】:

您可能需要实际安装 psycopg2。要找出答案,请在 Windows 命令提示符下运行以下命令:

C:\path\to\project\> python

然后:

>>> help("modules")

如果 psycopg2 不在列表中,请执行以下操作:

下载:来自HERE的psycopg2-2.6.2.win32-py2.7-pg9.5.3-release.exe,然后在Windows命令提示符下运行以下命令:

C:\path\to\project> easy_install /path/to/psycopg2-2.6.2.win32-py2.7-pg9.5.3-release.exe

【讨论】:

以上是关于Django 在执行 python manage.py runserver-“raise ImproperlyConfigured("Error loading psycopg2 modul的主要内容,如果未能解决你的问题,请参考以下文章

Django 执行 manage 命令方式

django manage.py执行命令报错,怎么回事,求大神解救

使用 PostgreSQL 9.5 在 Django 1.9 中执行“python manage.py migrate”时出现错误“django.db.utils.OperationalError”

Django 在执行 python manage.py runserver-“raise ImproperlyConfigured("Error loading psycopg2 modul

Django 中 python manage.py makemigrations 与 python manage.py migrate

Django :执行 python manage.py makemigrations 时报错 TypeError: __init__() missing 1 required positional a