我正在尝试使用"pip install pygresql“来安装pygresql包,但是我得到了错误:命令'gcc‘失败,退出状态为1。我已经尝试了很多方法,但是我仍然不明白为什么它不能工作。
Collecting pygresql
Using cached PyGreSQL-5.0.3.tar.gz
Building wheels for collected packages: pygresql
Running setup.py bdist_wheel for pygresql ... error
Complete output from command /Users/paulinelanquetin/anaconda/bin/python -u -c "import setuptools, tokenize;__file__='/private/var/folders/y9/vbfql6394h3g6_4ldhwqzx1c0000gp/T/pip-build-s7kjrkvj/pygresql/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /var/folders/y9/vbfql6394h3g6_4ldhwqzx1c0000gp/T/tmpvvbd5puepip-wheel- --python-tag cp36:
running bdist_wheel
running build
running build_py
creating build
creating build/lib.macosx-10.7-x86_64-3.6
copying pg.py -> build/lib.macosx-10.7-x86_64-3.6
copying pgdb.py -> build/lib.macosx-10.7-x86_64-3.6
running build_ext
building '_pg' extension
creating build/temp.macosx-10.7-x86_64-3.6
gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/paulinelanquetin/anaconda/include -arch x86_64 -I/Users/paulinelanquetin/anaconda/include -arch x86_64 -DPYGRESQL_VERSION=5.0.3 -DDIRECT_ACCESS -DLARGE_OBJECTS -DDEFAULT_VARS -DESCAPING_FUNCS -I/Users/paulinelanquetin/anaconda/include/python3.6m -I/usr/local/Cellar/postgresql/9.6.2/include -I/Users/paulinelanquetin/anaconda/include/python3.6m -c pgmodule.c -o build/temp.macosx-10.7-x86_64-3.6/pgmodule.o -O2 -funsigned-char -Wall -Werror
pgmodule.c:3694:3: error: code will never be executed [-Werror,-Wunreachable-code]
long num_rows;
^~~~~~~~~~~~~~~~~
1 error generated.
error: command 'gcc' failed with exit status 1
----------------------------------------
Failed building wheel for pygresql
Running setup.py clean for pygresql
Failed to build pygresql
Installing collected packages: pygresql
Running setup.py install for pygresql ... error
Complete output from command /Users/paulinelanquetin/anaconda/bin/python -u -c "import setuptools, tokenize;__file__='/private/var/folders/y9/vbfql6394h3g6_4ldhwqzx1c0000gp/T/pip-build-s7kjrkvj/pygresql/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /var/folders/y9/vbfql6394h3g6_4ldhwqzx1c0000gp/T/pip-l99qu955-record/install-record.txt --single-version-externally-managed --compile:
running install
running build
running build_py
creating build
creating build/lib.macosx-10.7-x86_64-3.6
copying pg.py -> build/lib.macosx-10.7-x86_64-3.6
copying pgdb.py -> build/lib.macosx-10.7-x86_64-3.6
running build_ext
building '_pg' extension
creating build/temp.macosx-10.7-x86_64-3.6
gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/paulinelanquetin/anaconda/include -arch x86_64 -I/Users/paulinelanquetin/anaconda/include -arch x86_64 -DPYGRESQL_VERSION=5.0.3 -DDIRECT_ACCESS -DLARGE_OBJECTS -DDEFAULT_VARS -DESCAPING_FUNCS -I/Users/paulinelanquetin/anaconda/include/python3.6m -I/usr/local/Cellar/postgresql/9.6.2/include -I/Users/paulinelanquetin/anaconda/include/python3.6m -c pgmodule.c -o build/temp.macosx-10.7-x86_64-3.6/pgmodule.o -O2 -funsigned-char -Wall -Werror
pgmodule.c:3694:3: error: code will never be executed [-Werror,-Wunreachable-code]
long num_rows;
^~~~~~~~~~~~~~~~~
1 error generated.
error: command 'gcc' failed with exit status 1
----------------------------------------
Command "/Users/paulinelanquetin/anaconda/bin/python -u -c "import setuptools, tokenize;__file__='/private/var/folders/y9/vbfql6394h3g6_4ldhwqzx1c0000gp/T/pip-build-s7kjrkvj/pygresql/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /var/folders/y9/vbfql6394h3g6_4ldhwqzx1c0000gp/T/pip-l99qu955-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /private/var/folders/y9/vbfql6394h3g6_4ldhwqzx1c0000gp/T/pip-build-s7kjrkvj/pygresql/发布于 2017-07-01 01:04:28
对于这个问题,我有两个解决方案,我能够找到。我在OSX Sierra 10.12.5上的conda虚拟环境中安装pygresql时遇到了这个问题,并从xcode-select --install安装了gcc。我的解决方案(如果其他人发现这一点)是在终端中使用以下命令:
conda install gcc这解决了安装到conda环境中的问题,您可以将其用作变通方法。安装anaconda或miniconda,然后在终端中运行以下命令:
conda create -y python=3 --name my_env
source activate my_env
conda install -y gcc
pip install pygresql我强烈建议在使用python进行开发时使用conda或virtualenv,以避免此类问题。
我在this similar issue中找到的更直接的解决方案。通过在终端中运行以下命令,我能够解决直接将pip安装到OSX python (而不是conda env)中的问题:
export CFLAGS="-Wno-error"
pip install PyGreSQLhttps://stackoverflow.com/questions/43091071
复制相似问题