Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python &引用;为psycopg2构建控制盘失败";-使用virtualenv和pip的MacOSX_Python_Django_Postgresql_Virtualenv_Psycopg2 - Fatal编程技术网

Python &引用;为psycopg2构建控制盘失败";-使用virtualenv和pip的MacOSX

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

我第一次尝试与其他一些人建立一个网站,在尝试使用Django/Python/VirtualEnv时遇到了一个奇怪的错误。我已经为其他操作系统找到了这个问题的解决方案,比如Ubuntu,但是没有为Mac找到任何好的解决方案

这是正在运行的相关代码:

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
TDLR 如果您不习惯安装Python C扩展,并且
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