当我试图导入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),版本是python3.5
发布于 2016-06-14 18:26:39
尤里卡!我花了两天的时间试着让这件事起作用。启蒙运动来自这个问题。简单地说,您可能像我一样安装了psycopg2 x64版本,没有意识到您的python版本是32位。合并所有当前的psycopg2,然后:
从psycopg2-2.6.1.win32-py3.4-pg9.4.4-release.exe 下载:这里,然后在终端中运行以下命令:
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
您还可能需要(重新)使用以下内容创建超级用户:
C:\path\to\project> python manage.py createsuperuser
发布于 2018-03-30 15:27:02
我也有同样的问题,用这样的方式解决了:
使用psycopg2
重新安装包pip
(默认情况下随python 3一起安装)
在Linux上:
pip卸载psycopg2
与(y)确认,然后:
pip安装psycopg2
在Windows上,我将前缀('python -m')
添加到上面的命令中。我认为,当您更改Python版本时,问题就会发生。(甚至在Python3.5和3.6等次要版本之间也是如此)。
发布于 2019-10-09 13:46:46
我在AWS胶水作业中使用了心理学,在那里更难遵循其他答案中列出的说明。
我所做的是在一个目录中安装psycopg2 2-二进制文件,并压缩该目录的内容:
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文件下载到作业脚本所在的目录中)
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()
https://stackoverflow.com/questions/36103034
复制相似问题