我在Mac上使用终端中的vagrant。我正在尝试在使用psycopg2的python中运行程序。当我运行“ python3 sample.py”时,我不断收到一个错误提示:psychopg2模块不存在。所以我跑了'pip3 install psycopg2'。现在,我得到下面的错误,尽管在多个地方阅读了文档,但仍然无法解决此问题。所以现在我的程序无法运行。
{{1}}
答案 0 :(得分:3)
那是警告,不是错误。这不会阻止您的程序运行。
答案 1 :(得分:2)
这只是一个警告,您的程序应该仍然可以正常运行。
该警告是decision by the package maintainer的结果,该结果将终止在psycopg2中使用滚轮包装。现在,psycopg2软件包设计为从源代码构建,而psycopg2-binary保留了当前的安装方法,但存在一些会触发段错误的错误。两个软件包都提供了相同的界面,因此您无需为任何一个选项进行任何代码更新。
最简单的解决方案是仅安装二进制软件包,警告将消失:
pip install psycopg2-binary
如果您希望安装没有segfault错误的版本,请使用--no-binary标志将install from source设为pip:
pip install --no-binary :all: psycopg2
如果您使用的是requirements.txt文件,请添加如下一行:
psycopg2>=2.7,<2.8 --no-binary psycopg2
更新
随着psycopg 2.8的发布,警告和二进制软件包现在已被删除。现在您需要做的就是正常安装/更新psycopg2,警告将消失:
pip install psycopg2
附有requirements.txt:
psycopg2>=2.8
如果您出于任何原因想要继续使用二进制软件包,则psycopg2-binary仍然可用。