2013-06-20 18 views
6

Ho installato piramide e creato un progetto, ma quando provo ad aggiungere nuovi pacchetti ai requisiti setup.py danno sempre me un errore pkg_resources.DistributionNotFound.Come installare nuovi pacchetti per piramide senza ottenere un file pkg_resources.DistributionNotFound: una volta creato un progetto

I pacchetti sono installati e questo succede solo se provo ad installare nuovi pacchetti dopo l'esecuzione ../bin/python3.3 setup.py develop Non ha importanza quali pacchetti sia.

L'unico modo in cui ho risolto (non proprio), è la creazione di un nuovo ambiente virtuale e l'installazione dei pacchetti prima di creare il progetto ed eseguire setup.py develop.

Ovviamente sto facendo qualcosa di sbagliato. C'è qualcosa che devo fare a fianco di installare il pacchetto? Si tratta di una sorta di problema del percorso? Sono nuovo di così, quindi il tuo aiuto sarebbe molto apprezzato!

* Aggiunta del mio processo di installazione nel caso in cui qualcuno capiti qualcosa di sbagliato. Comprende anche il mio file wsgi.

creato una virtualenv easy_install-3.3 env

attivato il virtualenv source env/bin/activate

installata piramide cd env ./bin/easy_install-3.3 pyramid

Creato un progetto ./bin/pcreate -s starter myprojectname

Ran setup.py cd myprojectname ../bin/python3.3 setup.py develop

A questo punto ricevo il seguente errore: pkg_resources.DistributionNotFound: cameriera

installata Cameriera ../bin/easy_install-3.3 waitress

Ran setup.py di nuovo (non so se dovrei fare questo) ../bin/python3.3 setup.py develop

ancora vedere l'errore

Il mio file .wsgi contiene la seguente (non so se questo è importante per questa domanda e non): activate_this = "/home/account/env/bin/activate_this.py" execfile(activate_this,dict(__file__=activate_this))

import os import sys

path = '/home/account/env/lib/python3.3/site-packages'

if path not in sys.path: sys.path.append(path)

from pyramid.paster import get_app application = get_app('/home/account/env/myprojectname/production.ini', 'main')

risposta

3

pip e setup.py develop non dovrebbero da miscelare.Quest'ultimo utilizza easy_install che non è compatibile con pip nel caso di pacchetti namespace (questi sono pacchetti che vengono installati come pacchetti secondari di un altro genitore, come zope.sqlalchemy che installa solo la parte .sqlalchemy del pacchetto full zope. *). I pacchetti di spazi dei nomi corrisponderanno a causando problemi tra pip e easy_install. D'altra parte, la maggior parte degli altri pacchetti funzionerà bene con qualsiasi sistema tu scelga, ma è meglio che tu sia coerente.

Un'altra cosa da ricontrollare è che in realtà stai installando i pacchetti nel tuo virtualenv. Dovresti essere in grado di aprire il python cli nel tuo virtualenv e importare il pacchetto. Se non è possibile, probabilmente non è installato.

+0

Grazie Michael - ho semplificato la mia installazione e usato solo eas_install e che non risolvere il problema. Sono stato anche in grado di importare i pacchetti con python nel mio virtualenv. –

+0

Giusto per essere sicuro di aver fatto correttamente il passaggio di importazione di Python - ecco cosa ho fatto per verificare che: # ../bin/python3.3 # cameriera di importazione –

+0

Indovina cosa Michael - Ho fatto il contrario e ho usato pip per tutto il installa e pip installa -e. invece di setup.py si sviluppa e sembra che abbia funzionato. Grazie mille per il vostro aiuto!!! –

5

Utilizzando i suggerimenti di Michael sopra, sono stato in grado di risolvere il suo problema. Non ho nemmeno bisogno di installare alcun pacchetto manualmente. Una volta che tutto funzionava, aggiungevo un requisito al mio file setup.py (che viene creato quando si crea un progetto piramidale) e si esegue pip install -e. di nuovo tutto è stato installato perfettamente. Il problema è stato causato da come stavo installando le cose. Qui è il mio processo di finale nel caso aiuta tutti gli altri neofiti di piramide:

  1. ha creato un ambiente virtuale virtualenv-3.3 env

  2. Attivato l'ENV source env/bin/activate

  3. trasferisce a directory ambiente cd env

  4. Piramide installata pip install pyramid

  5. creato un progetto ./bin/pcreate -s starter myprojectname

  6. Trasferito alla mia directory del progetto cd megaproject

  7. Ran installare pip install -e .

  8. aggiornato il mio file WSGI con le mie impostazioni env e di progetto

  9. ricaricare l'applicazione e salti di gioia per vedere la pagina bella piramide di avviamento

Problemi correlati