2012-04-26 2 views
1

Примечание: Эта же ошибка возникает также при использовании easy_install, другие способы установки ...не удается установить psycopg2 в virtualenv «ошибка: stdarg.h: Нет такого файла или каталога»

я столкнулся почти точно такая же проблема, как I'm trying to install psycopg2 onto Mac OS 10.6.3; it claims it can't find "stdarg.h" but I can see it's there; what should I do?, за исключением того, что я на OSX Lion (10.7), и я на Python v2.7.

Это также, по-видимому, связано с Can't install psycopg2 with pip in virtualenv on Mac OS X 10.7, но я получаю другое сообщение об ошибке.

Я задал новый вопрос, потому что решения, которые работали для OSX 10.6 (например, http://mail.python.org/pipermail/pythonmac-sig/2009-September/021617.html), не работают для меня.

Я пытаюсь сделать учебник для Django на Heroku (https://devcenter.heroku.com/articles/django), и у меня возникла ошибка при попытке установить psycopg2. Вот следы:

Downloading/unpacking psycopg2 
    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.5 (dt dec pq3 ext)" -DPG_VERSION_HEX=0x090005 -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 
    In file included from /Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/unicodeobject.h:4, 
        from /Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/Python.h:85, 
        from ./psycopg/psycopg.h:30, 
        from psycopg/psycopgmodule.c:27: 
    /Developer/SDKs/MacOSX10.6.sdk/usr/include/stdarg.h:4:25: error: stdarg.h: No such file or directory 
    In file included from /Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/unicodeobject.h:4, 
        from /Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/Python.h:85, 
        from ./psycopg/psycopg.h:30, 
        from psycopg/psycopgmodule.c:27: 
    /Developer/SDKs/MacOSX10.6.sdk/usr/include/stdarg.h:4:25: error: stdarg.h: No such file or directory 
    lipo: can't figure out the architecture type of: /var/tmp//ccHla8Gp.out 
    error: command 'gcc-4.2' failed with exit status 1 
    Complete output from command /Users/AndyFang/Desktop/code/venv/bin/python -c "import setuptools;__file__='/Users/AndyFang/Desktop/code/venv/build/psycopg2/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --single-version-externally-managed --record /tmp/pip-ONvqYm-record/install-record.txt --install-headers /Users/AndyFang/Desktop/code/venv/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.5 (dt dec pq3 ext)" -DPG_VERSION_HEX=0x090005 -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 

In file included from /Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/unicodeobject.h:4, 

       from /Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/Python.h:85, 

       from ./psycopg/psycopg.h:30, 

       from psycopg/psycopgmodule.c:27: 

/Developer/SDKs/MacOSX10.6.sdk/usr/include/stdarg.h:4:25: error: stdarg.h: No such file or directory 

In file included from /Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/unicodeobject.h:4, 

       from /Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/Python.h:85, 

       from ./psycopg/psycopg.h:30, 

       from psycopg/psycopgmodule.c:27: 

/Developer/SDKs/MacOSX10.6.sdk/usr/include/stdarg.h:4:25: error: stdarg.h: No such file or directory 

lipo: can't figure out the architecture type of: /var/tmp//ccHla8Gp.out 

error: command 'gcc-4.2' failed with exit status 1 

---------------------------------------- 
Command /Users/AndyFang/Desktop/code/venv/bin/python -c "import setuptools;__file__='/Users/AndyFang/Desktop/code/venv/build/psycopg2/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --single-version-externally-managed --record /tmp/pip-ONvqYm-record/install-record.txt --install-headers /Users/AndyFang/Desktop/code/venv/bin/../include/site/python2.7 failed with error code 1 in /Users/AndyFang/Desktop/code/venv/build/psycopg2 
Storing complete log in /Users/AndyFang/.pip/pip.log 

Я не знаю, почему он не может найти stdarg.h! Я просмотрел множество ответов в Интернете, но безрезультатно.

ответ

3

Похоже, у вас сломанная среда сборки. stdarg.h является частью основных gcc-заголовков. На моей (Fedora 16 Linux) системе stdarg.h находится в /usr/lib/gcc/x86_64-redhat-linux/4.6.2/include/stdarg.h и является частью пакета gcc.

На платформах Apple я ожидаю, что это будет поставляться с XCode. По предположению, у вас установлено более одного компилятора/инструментальной цепочки, и их пути включения путаются. Я предлагаю очистить XCode и всех своих друзей, удалив соответствующие каталоги, чтобы избавиться от отставших, а затем переустановить лот.

+0

Я решил использовать это решение: http://stackoverflow.com/a/8834568/396327 – fangsterr

0

Возможно, установка Xcode не завершена. Следующий пост помог мне заставить его работать:

https://stackoverflow.com/a/10326004/1361851

Если бы установить «командные инструменты линии» для Xcode (следуйте указаниям в SO ответ выше), а затем я был в состоянии установить пип с virtualenv.

Смежные вопросы