安装psycopg2完全失败。巨大的错误消息(例如错误:命令“ gcc”失败,退出状态为1)

时间:2019-05-02 12:19:42

标签: python macos pip psycopg2

我在Mac上安装psycopg2时遇到问题。我尝试了几种方法,例如使用pip进行安装以及自制软件。我还下载了所有依赖项,但仍然无法安装。

我收到以下错误消息,看起来很恐怖:

Command "/usr/bin/python -u -c "import setuptools, tokenize;__file__='/private/var/folders/1c/nhs40gy513143dfqyblmt3r80000gn/T/pip-install-rxlPem/psycopg2/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /private/var/folders/1c/nhs40gy513143dfqyblmt3r80000gn/T/pip-record-93LksX/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /private/var/folders/1c/nhs40gy513143dfqyblmt3r80000gn/T/pip-install-rxlPem/psycopg2/

可能是什么问题?

编辑:可以找到完整的错误here,这似乎是最相关的部分:

clang: warning: no such sysroot directory: '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.sdk' [-Wmissing-sysroot]
In file included from psycopg/psycopgmodule.c:27:
In file included from ./psycopg/psycopg.h:34:
/Library/Frameworks/Python.framework/Versions/3.7/include/python3.7m/Python.h:25:10: fatal error: 'stdio.h' file not found
#include <stdio.h>
         ^~~~~~~~~
1 error generated.

3 个答案:

答案 0 :(得分:0)

psycopg2 has some install dependencies that might be giving you trouble。在这种情况下,安装过程似乎找不到C标准库的一部分stdio.hInstalling the Xcode Command Line Tools可能会有帮助。

但是,如果您不想这样做,请尝试安装psycopg2-binary

  

您还可以通过从PyPI安装psycopg2-binary软件包来获得不需要编译器或外部库的独立软件包:

$ pip install psycopg2-binary
     

二进制包是开发和测试的实际选择,但在生产中,建议使用从源代码构建的包。

答案 1 :(得分:0)

对于任何寻求解决方案或将来对此有所参考的人,

我在Mojave上安装psycopg2时遇到了这个问题,接下来,我可以找到指向psycopg2 github issue的链接。该解决方案是使用

安装缺少的库头文件
sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /

这可能是Mojave问题,enter link description here

答案 2 :(得分:0)

任何在 Debian 发行版上遇到此问题的人都可以使用此解决方案

安装 postgresql 的开发头文件:

sudo apt install python3-dev libpq-dev

然后尝试:

pip3 install psycopg2

希望这能解决您的问题