2015-11-21 10 views
5

Sto tentando di installare psycopg2 per l'uso con Django. Io sto usando un virtualenv e quando cerco di installare psycopg2 ottengo un errore che dice:Impossibile trovare un modo per installare python-dev su Mac OS X

In file included from psycopg/psycopgmodule.c:27: 
./psycopg/psycopg.h:30:10: error: 'Python.h' file not found with <angled> include; use "quotes" instead 
#include <Python.h> 
     ^~~~~~~~~~ 
     "Python.h" 
In file included from psycopg/psycopgmodule.c:27: 
In file included from ./psycopg/psycopg.h:30: 
psycopg/Python.h:29:10: fatal error: 'structmember.h' file not found 
#include <structmember.h> 
     ^
2 errors generated. 
error: command 'clang' failed with exit status 1 

ho trovato un paio di discussioni on-line che sembrava suggerire che la soluzione a questo problema è quello di installare python-dev. Sfortunatamente, l'ho trovato solo per apt-get e yum. Non è disponibile per homebrew o macports per quanto ne so. Qualcuno può aiutarmi a capire perché l'installazione non riesce o come posso ottenere psycopg2? Grazie!

MODIFICA: sto usando un virtualenv e utilizzo l'app postgres. Ho già installato gli strumenti della riga di comando XCode.

+1

Che Python stai usando? Il sistema uno, uno installato da Homebrew o cosa? E hai installato gli strumenti della riga di comando Xcode? –

+0

@DanielRoseman Sto usando Python 2.7.10 in un virtualenv. Ho installato gli strumenti della riga di comando Xcode. Ho aggiunto un messaggio di errore più dettagliato e alcuni altri dettagli nel mio quesiton originale – Hendeca

risposta

7

Quindi risulta che ho sbagliato sulla causa del problema. Non era perché non avevo le intestazioni Python, era perché avevo in qualche modo cancellato tutti dalla directory python homebrew. Dopo aver chiacchierato sul canale Python di Freenode, un utente mi ha aiutato a identificare il problema. C'erano solo tre file nella

/usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/include/python2.7

così mi sono imbattuto

brew uninstall python 
brew install python 

che ha reinstallato le intestazioni e risolto il problema!