我试图在Mac OS X(10.11.3)下安装PyGreSQL,但是从pip和source安装时会出现相同的clang错误。
$ python3 setup.py install
running install
running bdist_egg
running egg_info
writing PyGreSQL.egg-info/PKG-INFO
writing top-level names to PyGreSQL.egg-info/top_level.txt
writing dependency_links to PyGreSQL.egg-info/dependency_links.txt
reading manifest file 'PyGreSQL.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'PyGreSQL.egg-info/SOURCES.txt'
installing library code to build/bdist.macosx-10.6-intel/egg
running install_lib
running build_py
running build_ext
building '_pg' extension
/usr/bin/clang -fno-strict-aliasing -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -arch i386 -arch x86_64 -g -DPYGRESQL_VERSION=5.0 -DDIRECT_ACCESS -DLARGE_OBJECTS -DDEFAULT_VARS -DESCAPING_FUNCS -I/Library/Frameworks/Python.framework/Versions/3.5/include/python3.5m -I/Library/PostgreSQL/9.5/include -I/Library/Frameworks/Python.framework/Versions/3.5/include/python3.5m -c pgmodule.c -o build/temp.macosx-10.6-intel-3.5/pgmodule.o -O2 -funsigned-char -Wall -Werror
pgmodule.c:3684:3: error: code will never be executed [-Werror,-Wunreachable-code]
long num_rows;
^~~~~~~~~~~~~~~~~
1 error generated.
error: command '/usr/bin/clang' failed with exit status 1
clang error occurs when installing PyGreSQL
我已经在我的机器上安装了PyGreSQL,Xcode和Xcode工具,我还将PostgreSQL的bin目录添加到$ PATH。
答案 0 :(得分:2)
我能够通过编辑模块来编译模块 setup.py
找到行
extra_compile_args = ....
它是传递给clang的额外编译参数列表。其中一个额外的参数是 -Werror
,这意味着"将所有警告视为错误"。如您所知,错误将中止编译。
删除该行,然后再次运行python3 setup.py build
,您会看到同一行显示,但这次是警告,一切顺利!