4

I am trying to install the pygresql package using "pip install pygresql" but I get the error : command 'gcc' failed with exit status 1 I've tried a lot of thing but I still do not understand why it is not working

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/

1 Answer 1

8

I have two solutions to this problem that I was able to find. I ran into this exact problem trying to install pygresql into a conda vitrual environment on OSX Sierra 10.12.5 and with the gcc installed from xcode-select --install. My solution for this (if others find this) was to use this command in the terminal:

conda install gcc

This solved the problem for installing into the conda environment which you could use as a work-around. Install anaconda or miniconda then run these commands in the terminal:

conda create -y python=3 --name my_env
source activate my_env
conda install -y gcc
pip install pygresql

I highly recommend using conda or virtualenv when doing development in python to avoid this types of issues.

The more direct solution to your problem I found in this similar issue. I was able to solve pip installing directly into the OSX python (not the conda env) by running these commands in the terminal:

export CFLAGS="-Wno-error"
pip install PyGreSQL
Sign up to request clarification or add additional context in comments.

2 Comments

Note that this has been fixed in PyGreSQL >= 5.0.4.
What does the "-y" switch do here?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.