2012-07-10 6 views
8

Sono abbastanza nuovo per Python e twistato e ho provato a eseguire un semplice script contorto ma non è riuscito.ImportError: nessun modulo denominato twistato

Il mio ambiente:

MacOX 10.7.2 + Python 2.7.1 + ritorto 11.0.0 + eclissi + PyDev

Lo script chiamato test.py:

from twisted import reactor 
reactor.run() 

ho cercato di eseguilo nel terminale e tutto funziona bene.

Poi ho aperto Eclipse e ha creato un nuovo progetto PyDev quindi l'aggiunta di un file chiamato py test.py e digitato il codice di cui sopra in

Quando ho provato a farlo funzionare ho ottenuto gli errori come:.

Traceback (most recent call last): 
File "/Users/user/Documents/workspace/TwistedDemo/test.py", line 2, in <module> 
from twisted import reactor 
ImportError: No module named twisted 

Poi ho controllato il PYTHONPATH e ha aggiunto la "cartella di origine contorto" nella scheda librerie esterno, ma gli errori era ancora lì. (nulla è cambiato)

la speranza qualcuno può darmi una mano qui, grazie in anticipo :)

+2

Sei sicuro che si è aggiunto alla cartella che contiene la cartella denominata 'twisted', e non quella cartella stessa? –

risposta

4

Molte cose da provare qui -

  1. Dal momento che l'env è Mac OSX. Ho installato strumenti da riga di comando da Xcode che hanno risolto questo problema. Xcode 4.4 and later install Command Line Tools

  2. Per ragioni di completezza. Se questo su Ubuntu, quindi apt-get install python-twisted generalmente funziona.

  3. dal vostro Eclipse mettere questo nello script python -

    python -c 'import sys; sys.path di stampa'

    Questo dice tutti i sentieri che python guarda per quando si import something. Se non trovi il percorso contorto, aggiungilo a questo modo: sys.path.append(twisted_dir_path)

  4. Infine, se tutto quanto sopra non aiuta. type -p python in una shell ti dirà quale versione stai usando; Sarei per lo più /usr/bin/ o qualche variante di esso.

    Quindi il /usr/bin/python2.7 -c 'from twisted.internet.protocol import Factory,Protocol' deve avere successo.

+1

Aggiornamento Xcode ha fatto il trucco per me :) Grazie! Ps: ricorda di riavviare la scheda del terminale dopo l'aggiornamento/l'installazione. –

1

Non sai come è stato installato twistato, hai provato easy_install o pip o installato manualmente?

Se si vuole assicurarsi che sia installato correttamente, provare ad aprire un terminale, battitura pitone, e poi "Importa contorto". Se ritorna senza errori, allora è installato. Potrebbe essere necessario impostare la variabile PYTHONPATH per includere la cartella di origine.

Poi, dal momento che si sta utilizzando PyDev in Eclipse, è necessario aggiornare la configurazione ogni volta che si aggiunge una nuova libreria.

Sul Mac, questo è sotto preferenze -> PyDev -> Interperter-Python

Trovo che funziona meglio per rimuovere la mia configurazione e aggiungerlo nuovamente, per poter prendere tutto. Ma puoi fare clic sulla nuova cartella (seleziona la cartella con init .py), o il nuovo uovo, se è un uovo easy_install (un file .egg è un file zip, se è decompresso, vedrai un EGG -INFO cartella nella sottodirectory della cartella che si desidera selezionare).

3

Questo mi è successo tante volte, ma ho capito prima. Fondamentalmente, se hai troppe versioni di python sul tuo Mac, Aptana Studio per qualche motivo si confonde, quindi assicurati che l'installazione di twisted stia usando lo stesso python della riga di comando (anche se hai già aggiunto twistato ad Aptana). Prendo in più specifiche in seguito

Ok, penso che questo è come lo fate:

  1. Afferra il percorso pitone del pitone che ha twisted installato correttamente, utilizzando questo
    import sys
    print sys.path
    E basta afferrare il percorso di base, nulla di specifico.
  2. Vai Aptana-preferences-PyDev-Interpreter-Python
  3. E poi basta aggiungere un nuovo interpreter (nel mio caso ho appena chiamato lo python1 e Set è il primo. Se questo non funziona, allora appena stabilito un nuovo PYTHONPATH destra sotto di esso.
+0

Ciao, ho troppi python installati. è per questo che ho riscontrato un errore con l'errore di segmentazione 11. qualsiasi soluzione alternativa? – OMGPOP

+0

@OMGPOP Questo è stato un po 'di tempo fa, ma ho lasciato che provassi a descrivere la soluzione nella mia risposta. Dammi un paio d'ore, non sono al mio computer ora. – enginefree

+0

Errore di segmentazione: 11 – OMGPOP

1

È necessario impostare la corretta PYTHONPATH in Eclipse come segue:.

  1. Fare clic con il progetto
  2. selezionare P roperties
  3. selezionare pydev-PYTHONPATH
  4. aggiungere il twised nelle librerie esterne