2

我试图在 Mac OS X(10.11.3) 下安装 PyGreSQL,但是从 pip 和源安装时会出现同样的 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

安装 PyGreSQL 时出现 clang 错误

我已经在我的机器上安装了 PyGreSQL、Xcode 和 Xcode 工具,并且我还将 PostgreSQL 的 bin 目录添加到了 $PATH。

4

1 回答 1

2

我能够通过编辑模块的setup.py来编译模块

找到线

extra_compile_args = ....

这是要传递给 clang 的额外编译参数的列表。额外的参数之一是-Werror,这意味着“将所有警告视为错误”。如您所知,错误将中止编译。

删除该行,然后python3 setup.py build再次运行,您会看到出现相同的行,但这次是警告,一切正常!

于 2016-08-24T19:06:28.617 回答