我在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.
答案 0 :(得分:0)
psycopg2
has some install dependencies that might be giving you trouble。在这种情况下,安装过程似乎找不到C标准库的一部分stdio.h
。 Installing 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
希望这能解决您的问题