我在Ubuntu16.04上通过以下代码将psycopg2安装到pypy3(Python3.5.3):
pypy3 -m pip install psycopg2
但是,我遇到了一些错误:
错误:b'您需要安装用于构建服务器端扩展的postgresql-server-dev-X.Y或用于构建客户端应用程序的libpq-dev。\ n'
/ tmp / pip-install-epd368s6 / psycopg2中的命令“ python setup.py egg_info”失败,错误代码为1
然后我在“ You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application”中找到了解决方案。
我的计算机已经安装了Postgresql9.5,因此我使用以下命令进行安装:
sudo apt-get install libpq-dev
pypy3 -m pip install psycopg2
未报告任何错误,但是当我尝试“导入psycopg2”时,出现了ImportError:
我在“ pypy3 import psycopg2 error (PyCodec_Encoder)”中发现了相同的错误,但没有找到解决方法。
有人知道如何解决吗?
答案 0 :(得分:2)
psycopg2-binary可与最新版本的PyPy 3.6(从2020年1月23日起每晚进行构建)一起使用,因为它包含PyCodec_Encoder和PyCodec_Decoder实现。
答案 1 :(得分:0)
您pointed to的PyPy问题包含答案“有人必须实现缺失的功能(以及其他缺失的PyCodec_ *函数。目前,我们在codec.py中仅实现了很少的实现。根据实现的功能中的模式直接进行,最难的部分是编写测试。
有psycopg2cffi package,它可以在PyPy上运行,并且速度更快。如果它可以满足您的需求,请尝试在此处进行评论。