others - python 3.x - ImportError: No module named 'psycopg2._psycopg'

  显示原文与译文双语对照的内容

当我尝试导入 psycopg2 时,它显示以下日志给我:


Traceback (most recent call last):


 File"D:/Desktop/learn/python/webcatch/appserver/testpgsql.py", line 2, in <module>


 import psycopg2


 File"D:/Desktop/learn/python/webcatch/appserver/webcatch/lib/site-packages/psycopg2-2.6.1-py3.5-win32.egg/psycopg2/__init__.py", line 50, in <module>


 from psycopg2._psycopg import BINARY, NUMBER, STRING, DATETIME, ROWID


ImportError: No module named 'psycopg2._psycopg'



我怎么解决它? 我的平台是 Win10 ( 64 ),版本是 python 3.5

时间:

Eureka 我把我的头发 pulled 2天,试图让它工作。 启发来自于这样的问题。 简单地说,你可能安装了 psycopg2 x64版本,没有意识到你的python 版本是 32位 。 Unistall你当前的psycopg2,然后:

从这里下载 : psycopg2-2.6.1.win32-py3.4-pg9.4.4-release.exe 从这里,然后在终端运行下面的命令:


C:pathtoproject> easy_install/path/to/psycopg2-2.6.1.win32-py3.4-pg9.4.4-release.exe


C:pathtoproject> python manage.py makemigrations


C:pathtoproject> python manage.py migrate



你还可以使用( re ) 创建 super 用户:


C:pathtoproject> python manage.py createsuperuser



我有同样的问题,以这种方式解决了:

使用 pip 重新安装软件包 psycopg2 ( 默认情况下安装为 python 3 )

在Linux上:

pip卸载 psycopg2

用( y ) 确认,然后:

pip安装 psycopg2

在 Windows 上,我将前缀 ('python -m') 添加到上面的命令中。 我想问题发生在你改变 python 版本的时候。 ( 即使在 python 3.5和 3.6等次要版本之间) 。

...