2016-06-04 10 views
2

Ich habe versucht, PyGreSQL unter Mac OS X (10.11.3) zu installieren, aber der gleiche Clang-Fehler tritt auf, wenn von Pip und Quelle installieren.Clang Fehler bei der Installation von pygresql unter Mac OS

$ 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

Ich hatte schon PyGreSQL, Xcode und Xcode Tools in meinem Rechner installiert ist, und habe ich auch noch das Verzeichnis ist von PostgreSQL zu $ ​​PATH.

Antwort

2

konnte ich das Modul kompilieren, indem die setup.py der Module Bearbeitung

die Linie finden

extra_compile_args = .... 

Es ist eine Liste der zusätzlichen kompilieren Argumente klirren zu übergeben. Eines der zusätzlichen Argumente wird -Werror sein, was bedeutet "alle Warnungen als FEHLER behandeln". Und wie Sie wissen, bricht ein Fehler die Kompilierung ab.

Entfernen Sie diese Zeile, und führen Sie erneut python3 setup.py build und Sie werden sehen, die gleiche Zeile erscheint, aber dieses Mal als Warnung, und alles geht gut!

+0

Das sollte das Problem lösen. Es wird in PyGreSQL-Versionen höher als 5.0.3 behoben (siehe https://github.com/Cito/pygresql/issues/4). – Cito