2013-04-10 14 views
9

Sto usando Windows come mio ambiente di sviluppo principale python 2.7 e voglio installare python-ldap su un ambiente virtuale.Come installare python-ldap su python 2.7 virtualenv su windows senza compilare

Il pacchetto python-ldap deve essere compilato :(e ovviamente non riesco a compilarlo nel mio ambiente. Così ho provato a trovare i binari per installarli nel mio ambiente virtuale tramite easy_install (FYI puoi fare il pacchetto easy_install. exe e il pacchetto verrà installato. Ho trovato i binari distribuiti qui: https://pypi.python.org/pypi/python-ldap/

Sfortunatamente, forniscono solo pacchetti .msi per python 2.7 !!! Perché le persone utilizzano .msi? MSI NON PU BE ESSERE INSTALLATO TRAMITE easy_install. HATE MSI% $ # $^# $^# $

Sì, posso installare il pacchetto .msi eseguendolo ma verrà installato nei pacchetti python globali e non sul mio ambiente virtuale!

Per favore, qualcuno può aiutarmi? Ricordo di aver avuto questo problema esatto in un progetto precedente e non ho potuto farlo ora :(

Aggiornamento: Ho installato python-ldap a livello di sistema e copiato il directories ldap e python_ldap-2.4.10-py2.7.egg-info da PYTHON_GLOBAL \ Lib \ site-packages a VIRTUALENV \ Lib \ site-packages e sembra funzionare ora. Comunque non mi piace quella soluzione Inoltre, il commento di Alexander sul ricreare il mio virtualenv con --system-site-packages probabilmente funzionerà, ma ciò significa che avrei bisogno di disinstallare molti dei miei pacchetti globali e quindi installare di nuovo i miei pacchetti virtuali ecc. e in generale non è ASCIUTTO :(

Aggiornamento 2: Dopo aver provato il suggerimento di cgohlke, ho visto che il contenuto dell'MSI erano le due directory che ho menzionato sopra insieme ai file dsml.py, ldapurl.py e ldif.py. Così ho anche copiato questo nei miei pacchetti VIRTUALENV \ Lib \. Ora credo che l'installazione sia ok :). Ma credo che cgohlke sia il migliore: basta usare msiexec.exe per estrarre il contenuto dell'msi direttamente sul tuo VIRTUALENV.

Aggiornamento 3: In una domanda simile (Installing python-ldap in a virtualenv on Windows) ho trovato un collegamento molto interessante: http://www.lfd.uci.edu/~gohlke/pythonlibs/#python-ldap. Qui potrai trovare i pacchetti di installazione .EXE per python-ldap e molti altri !!! Quindi, scaricando questi file, potrai finalmente aggiungerli a easy_install nella tua virtualenv!

+1

Un modo è installarlo a livello di sistema e ricreare il tuo virtualenv usando '--system-site-packages'. – alecxe

+0

Sì, probabilmente funzionerà, ma non voglio ricreare il mio virtualenv. – Serafeim

+2

Prova ad estrarre il file msi: 'msiexec.exe/a python-ldap-2.4.10.win32-py2.7.msi/qn TARGETDIR =" C: \ Absolute \ Path "'. – cgohlke

risposta

1

Che ne dici di installarlo a livello di sistema, creando un uovo dai file installati e quindi utilizzando quell'uovo nel tuo ambiente virtuale? Puoi trovare alcune informazioni sulla struttura delle uova qui: http://pythonhosted.org/setuptools/formats.html