I am trying to install psycopg2 in virtualenv enviroment and am having a heck of a time. I think I may have screwed something up because I installed virtualenv and then upgraded to Xcode 4.
(my_enviroment)my_users-macbook-2:my_enviroment my_user$ pip install psycopg2
Produces this message:
Downloading/unpacking psycopg2==2.4.2
Running setup.py egg_info for package psycopg2
no previously-included directories found matching 'doc/src/_build'
Installing collected packages: psycopg2
Running setup.py install for psycopg2
building 'psycopg2._psycopg' extension
gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -isysroot /Developer/SDKs/MacOSX10.6.sdk -arch i386 -arch x86_64 -g -O2 -DNDEBUG -g -O3 -DPSYCOPG_DEFAULT_PYDATETIME=1 -DPSYCOPG_VERSION="2.4.2 (dt dec pq3 ext)" -DPG_VERSION_HEX=0x090004 -DPSYCOPG_EXTENSIONS=1 -DPSYCOPG_NEW_BOOLEAN=1 -DHAVE_PQFREEMEM=1 -I/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -I. -I/usr/include -I/usr/include/postgresql/server -c psycopg/psycopgmodule.c -o build/temp.macosx-10.6-intel-2.7/psycopg/psycopgmodule.o
unable to execute gcc-4.2: No such file or directory
error: command 'gcc-4.2' failed with exit status 1
Complete output from command /Users/my_user/my_enviroment/bin/python -c "import setuptools;__file__='/Users/my_user/my_enviroment/build/psycopg2/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --single-version-externally-managed --record /var/folders/b8/jflj9btd4rzb80xfmcy_rk140000gn/T/pip-lojVKc-record/install-record.txt --install-headers /Users/my_user/my_enviroment/bin/../include/site/python2.7:
running install
running build
running build_py
running build_ext
building 'psycopg2._psycopg' extension
gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -isysroot /Developer/SDKs/MacOSX10.6.sdk -arch i386 -arch x86_64 -g -O2 -DNDEBUG -g -O3 -DPSYCOPG_DEFAULT_PYDATETIME=1 -DPSYCOPG_VERSION="2.4.2 (dt dec pq3 ext)" -DPG_VERSION_HEX=0x090004 -DPSYCOPG_EXTENSIONS=1 -DPSYCOPG_NEW_BOOLEAN=1 -DHAVE_PQFREEMEM=1 -I/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -I. -I/usr/include -I/usr/include/postgresql/server -c psycopg/psycopgmodule.c -o build/temp.macosx-10.6-intel-2.7/psycopg/psycopgmodule.o
unable to execute gcc-4.2: No such file or directory
error: command 'gcc-4.2' failed with exit status 1
----------------------------------------
Command /Users/my_user/my_enviroment/bin/python -c "import setuptools;__file__='/Users/my_user/my_enviroment/build/psycopg2/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --single-version-externally-managed --record /var/folders/b8/jflj9btd4rzb80xfmcy_rk140000gn/T/pip-lojVKc-record/install-record.txt --install-headers /Users/my_user/my_enviroment/bin/../include/site/python2.7 failed with error code 1
Storing complete log in /Users/my_user/.pip/pip.log
I am running OSX 10.7, Python 2.7.2, pip 1.0.2, Xcode 4.
I have tried the following solutions, with no success:
Cannot install psycopg2 on OSX 10.6.7 with XCode4
GCC error: command 'gcc-4.0' failed with exit status 1
Any thoughts? What other information would you need to know?
I was installing mysqlclient on OSX Sierra in venv w/ 2.7.7 and did the following:
Seemed to work - the gcc-4.2 -bundle appears to come from setuptools build_ext somehow.
Your error is this:
Which means that
gcc-4.2
is not installed.Either downgrade (or upgrade) your GCC version, or modify the package to build with just the
gcc
command.A bit more hacky would be to
ln
gcc-4.2
to thegcc
command.try this
Same problem. Lion, latest xcode.
I downloaded and installed a fresh 2.7.2 python and a single virtualenv.
I added:
based on the many answers here about why pip/easy_install, etc. are having trouble with Lion. That solved the compiling issue, but it fails with the same error on the link step:
1) I thought that by installing my own Python 2.7.2 that I'd get around the need to use the CC trick because I installed my python fresh. Why not?
2) Is there a similar trick for the name of the linker? This might be getting pretty deep into distutils.
EDIT: RESOLVED Following many blog/SO suggestions the following worked for me: Recall I am using virtualenv running python 2.7.2 0) added symlink to /bin: ln -s /usr/bin/gcc gcc-4.2 1) Installed latest Postgres. I upgraded from 8.4 to 9.1. Did not uninstall 8.4, did not lose my databases. 2) added /Library/PostgreSQL/9.1/bin to $PATH. I did this in my .profile because I already had 8.4/bin in there, probably for much the same reason. 3) pip install psycopg2
I still am not sure why I need the symlink in this situation. Perhaps because I did not build 2.7.2 from source.
However, my django/postgres apps all work. The symlink lets me install other packages that also reference gcc-4.2 in my virtualenv.
I've found the easiest way to install PIL on 10.7 is to create a symlink from gcc-4.2 to gcc.