Ottenere un errore di PasteScript quando cerco di servire un Piloni applicazione esistente
-
11-10-2019 - |
Domanda
Sto cercando di servire un Python 2.5 applicazione tralicci esistenti su OS X Snow Leopard.
ho già installato Python 2.5 e impostarla come l'installazione di Python di default, paster installato, e installato la versione di Piloni le esigenze app (0.9.6.1), così come altre uova ... ma quando ho cd per la cartella principale e fare "paster servire development.ini" ottengo il seguente:
File "/usr/local/bin/paster", line 5, in <module>
from pkg_resources import load_entry_point
File "/System/Library/Frameworks/Python.framework/Versions/2.5/Extras/lib/python/pkg_resources.py", line 2603, in <module>
File "/System/Library/Frameworks/Python.framework/Versions/2.5/Extras/lib/python/pkg_resources.py", line 666, in require
File "/System/Library/Frameworks/Python.framework/Versions/2.5/Extras/lib/python/pkg_resources.py", line 565, in resolve
pkg_resources.DistributionNotFound: PasteScript==1.7.3
ho sicuramente fatto "easy_install PasteScript == 1.7.3" e ho ancora ottenere questo errore. C'è qualcosa di veramente ovvio che mi manca? Aiuto?
Grazie in anticipo.
Soluzione
Probabilmente dispone di più installazioni di Python sul vostro sistema. Il comando easy_install
probabilmente installato PasteScript in un diverso interprete Python. Si può avere un comando specifico easy_install-2.5
che si dovrebbe usare, invece, per l'interprete Python 2.5.
Tuttavia, utilizzando virtualenv sul sistema di sviluppo è fortemente raccomandato.
VIRTUALENV consente di creare una sandbox legata a uno specifico interprete Python, e dove è possibile installare le versioni pacchetti specifici su base locale il su ogni progetto.
Maggiori informazioni su come usare virtualenv con piloni qui: http://wiki.pylonshq.com/display/pylonscookbook/Using+a + + vIRTUALENV Sandbox
Altri suggerimenti
Forse questo è troppo semplice una risposta, ma mi piacerebbe provare a installare la versione specifica easy_install-2.5 PasteScript==1.7.3
Vedere facile installi docs per i dettagli.
Modifica prima linea in /usr/sbin/luci
, e quindi aggiungere la versione di Python al di sotto della linea:
#!/usr/bin/python -Es
Modifica prima linea in /usr/bin/paster
e quindi aggiungere la versione di Python al di sotto della linea:
#!/usr/bin/python
ho ottenuto questo errore, anche quando ho fatto "paster --help". PasteScript era nel site-packages del mio virtual-env e PasteScript presentò in congelare pip. Il problema era che la cartella PasteScript conclusa in .dist-info. Un altro uovo chiamato distribuire è stato installato ed è stato nella parte anteriore della mia sys.path. Aveva una versione precedente di pkg_resources che non conoscono ".dist-info" cartelle di uova. La logica pkg_resources in questione è in funzione find_on_path. È possibile cercare pkg_resources per "dist-info". Quindi, "pkg_resources.get_distribution ( 'PasteScript')" in pasta / script / command.py trovata alcuna PasteScript anche se è stato installato. Per trovare quale pkg_resources viene utilizzato, è possibile eseguire python and go "pkg_resources importazione; pkg_resources di stampa". Disinstallare "distribuire" fisso il mio errore di corrente (ma poi mi ha colpito un altro errore).
Aggiornamento: Ho stava installando l'ultima CKAN 2.6.2 (l'apr 2017) su Ubuntu preciso (v12, un po 'vecchio, uscito nel 2012-2014) (completamente aggiornato con apt-get update, installato tramite vagabondo ubuntu immagine / precise64). È rotto. Utilizzando un'immagine ubuntu / trusty64 funziona perfettamente.