首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ImportError:没有名为“psycopg2._psycopg”的模块

ImportError:没有名为“psycopg2._psycopg”的模块
EN

Stack Overflow用户
提问于 2016-03-19 14:38:54
回答 14查看 74.9K关注 0票数 34

当我试图导入psycopg2时,它为我显示了以下日志:

代码语言:javascript
运行
复制
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),版本是python3.5

EN

回答 14

Stack Overflow用户

回答已采纳

发布于 2016-06-14 18:26:39

尤里卡!我花了两天的时间试着让这件事起作用。启蒙运动来自这个问题。简单地说,您可能像我一样安装了psycopg2 x64版本,没有意识到您的python版本是32位。合并所有当前的psycopg2,然后:

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

代码语言:javascript
运行
复制
C:\path\to\project> easy_install /path/to/psycopg2-2.6.1.win32-py3.4-pg9.4.4-release.exe
C:\path\to\project> python manage.py makemigrations
C:\path\to\project> python manage.py migrate

您还可能需要(重新)使用以下内容创建超级用户:

代码语言:javascript
运行
复制
C:\path\to\project> python manage.py createsuperuser
票数 24
EN

Stack Overflow用户

发布于 2018-03-30 15:27:02

我也有同样的问题,用这样的方式解决了:

使用psycopg2重新安装包pip (默认情况下随python 3一起安装)

在Linux上:

pip卸载psycopg2

与(y)确认,然后:

pip安装psycopg2

在Windows上,我将前缀('python -m')添加到上面的命令中。我认为,当您更改Python版本时,问题就会发生。(甚至在Python3.5和3.6等次要版本之间也是如此)。

票数 19
EN

Stack Overflow用户

发布于 2019-10-09 13:46:46

我在AWS胶水作业中使用了心理学,在那里更难遵循其他答案中列出的说明。

我所做的是在一个目录中安装psycopg2 2-二进制文件,并压缩该目录的内容:

代码语言:javascript
运行
复制
mkdir psycopg2-binary
cd psycopg2-binary
pip install psycopg2-binary -t  .
# in case using python3:
# python3 -m pip install --system psycopg2-binary -t  .
zip -r9 psycopg2.zip *

然后,我复制了一个S3桶,并将它作为一个额外的Python库添加到Glue Spark作业中的"Python路径“下。

然后使用以下脚本启动作业,以验证是否存在psycopg2 ( Glue将将该zip文件下载到作业脚本所在的目录中)

代码语言:javascript
运行
复制
from awsglue.transforms import *
from awsglue.utils import getResolvedOptions
from pyspark.context import SparkContext
from awsglue.context import GlueContext
from awsglue.job import Job
import sys
import os
import zipfile

## @params: [JOB_NAME]
args = getResolvedOptions(sys.argv, ['JOB_NAME'])

sc = SparkContext()
glueContext = GlueContext(sc)
spark = glueContext.spark_session
job = Job(glueContext)
job.init(args['JOB_NAME'], args)

zip_ref = zipfile.ZipFile('./psycopg2.zip', 'r')
print os.listdir('.')
zip_ref.extractall('/tmp/packages')
zip_ref.close()
sys.path.insert(0, '/tmp/packages')

import psycopg2
print(psycopg2.__version__)

job.commit()
票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36103034

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档