Python &引用;为psycopg2构建控制盘失败";-使用virtualenv和pip的MacOSX
我第一次尝试与其他一些人建立一个网站,在尝试使用Django/Python/VirtualEnv时遇到了一个奇怪的错误。我已经为其他操作系统找到了这个问题的解决方案,比如Ubuntu,但是没有为Mac找到任何好的解决方案 这是正在运行的相关代码:Python &引用;为psycopg2构建控制盘失败";-使用virtualenv和pip的MacOSX,python,django,postgresql,virtualenv,psycopg2,Python,Django,Postgresql,Virtualenv,Psycopg2,我第一次尝试与其他一些人建立一个网站,在尝试使用Django/Python/VirtualEnv时遇到了一个奇怪的错误。我已经为其他操作系统找到了这个问题的解决方案,比如Ubuntu,但是没有为Mac找到任何好的解决方案 这是正在运行的相关代码: virtualenv -p python3 venv source venv/bin/activate pip install -r requirements.txt 运行该块后,我得到以下错误: 断言者 django工具带的构建轮失败 正在运行p
virtualenv -p python3 venv
source venv/bin/activate
pip install -r requirements.txt
运行该块后,我得到以下错误:
断言者
django工具带的构建轮失败 正在运行psycopg2的setup.py bdist_控制盘 断言者
为psycopg2生成控制盘失败 未能生成django工具带psycopg2 我相信我已经安装了“django工具带”和“psycopg2”,所以我不知道为什么它会失败 我能想到的唯一区别是我没有使用命令
sudo apt-get install libpq-dev
正如Ubuntu使用说明所示,我相信用brew安装postgresql会处理好标题
感谢您的帮助或见解 您的错误消息是否完整?无法从pip在mac上安装psycopg2的最常见原因是pg_配置不在路径中。 顺便说一句,使用macports或fink安装psycopg2是更推荐的方法,所以您不必担心pg_配置、libpq dev和python-dev
另外,您是否正在使用Python 3.5?然后使用pip将控制盘升级到>0.25.0。我在Arch linux上也遇到了同样的问题。我认为这不是一个依赖操作系统的问题。无论如何,我通过查找过时的软件包并进行更新来解决这个问题
pip uninstall psycopg2
pip list --outdated
pip install --upgrade wheel
pip install --upgrade setuptools
pip install psycopg2
希望这有助于…在OS X上,我只需在安装psycopg2之前升级控制盘就可以解决这个问题:
pip install --upgrade wheel
对于Mac OS X用户:
1。首先在终端中运行以下命令检查postgresql路径:
pg_config
xcode-select --install
如果此操作失败,请查找如何将pg_配置添加到路径
2。接下来,通过在终端中运行此命令来安装Xcode工具:
pg_config
xcode-select --install
如果您现在已经解决了这两个问题,请尝试再次为OSX Sierra用户安装psycopg2,似乎xcode更新是解决方案:我遇到了相同的问题,这似乎是一个莫哈韦问题,我可以通过以下方式解决:
sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
我也犯了同样的错误。 使用Python3.7.3和PIP19.1.1 我使用了下面的命令
pip install psycopg2-binary==2.8.3
我也面临同样的问题,但上面的答案对我来说并不适用。 这就是我在requirements.txt中所做的
psycopg2 binary==2.7.6.1而且效果很好我尝试了上述所有解决方案,但都不适用于我。我所做的是将requirements.txt文件中的psycopg2版本从
psycopg2==2.7.4
更改为psycopg2==2.7.6
适用于MacOS用户
在尝试了上述所有方法(在MacOS 10.14上对我不起作用)之后,这一方法奏效了:
- 如果尚未安装openssl,请使用
brew安装openssl
- 将openssl路径添加到
:库\u路径
export LIBRARY\u PATH=$LIBRARY\u PATH:/usr/local/opt/openssl/lib/
- 使用pip安装psycopg2
pip3安装psycopg2
psycopg2
不是您工作的核心部分,请尝试
pip安装psycopg2二进制文件
本地建筑
psycopg2是一个C扩展,因此在由pip安装时需要编译。中的“构建先决条件”部分解释了为使通过pip进行安装成为可能必须执行的操作。总之(对于psycopg 2.8.5):
- 计算机上必须安装C编译器
- 必须安装Python头文件
- 必须安装
头文件libpq
- 必须安装
程序(它通常带有pg_config
标题)和libpq
$PATH
pip安装psycopg2
应该会成功
安装预编译的控制盘
或者,pip
可以安装,这样就不需要编译(以及相关的设置)。它们可以按如下方式安装:
pip安装psycopg2二进制文件
文件指出
psycopg2二进制软件包旨在让初学者开始使用Python和PostgreSQL,而无需满足构建要求
但我建议,如果您不是直接使用psycopg2,而是作为依赖项使用,那么对于本地开发工作来说,psycopg2 binary
通常就足够了
结论性意见
阅读资料性文章,不仅可以解决安装问题,还可以了解在某些情况下使用预编译二进制文件的影响。我在几个软件包中遇到过这个问题,包括psycopg2、numpy和pandas。我只是从requirements.txt文件中删除了这个版本,它就可以工作了 因此,我刚才为MacOS用户提供的不是psycopg2 binary==2.7.6.1,而是psycopg2 binary,这个问题有正确的解决方案: 如有必要,请安装命令行工具:
xcode选择--安装
然后
env LDFLAGS=“-I/usr/local/opt/openssl/include-L/usr/local/opt/openssl/lib”pip安装psycopg2
我知道您要求开发环境,但如果您在服务器上部署,比如Heroku。只需在项目的requirements.txt中添加以下行
django heroku==0.3.1
由于此软件包本身将在服务器部署上安装所需的软件包,如psycopg2。因此,让服务器(heroku)来处理它。在OS X上对我来说非常有用,谢谢!(OSX10.11.2、Python3.5.1、PIP7.1.2)对我也很有用。我相信对于我特定的virtualenv来说,
wheel
包已经过时了,因为setuptools
很好。因此,可能需要运行pip inst