2012-07-10 8 views
8

Je suis assez nouveau sur python et tordu et j'ai essayé de lancer un script simple mais tordu mais échoué.ImportError: Aucun module nommé twisted

Mon environnement:

MacOX 10.7.2 + Eclipse Python 2.7.1 + Twisted 11.0.0 + + PyDev

Le script appelé test.py:

from twisted import reactor 
reactor.run() 

J'ai essayé de exécutez-le dans le terminal et tout fonctionne bien.

Puis j'ai ouvert éclipse et a créé un nouveau projet de PyDev puis en ajoutant un fichier py appelé test.py et dactylographiées le code ci-dessus dans

Quand j'ai essayé de le lancer, je suis des erreurs comme:.

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 

Ensuite, j'ai vérifié le PYTHONPATH et a ajouté quelqu'un « dossier source twisted » dans l'onglet bibliothèques externes, mais les erreurs était toujours là. (rien changé)

l'espoir peut me aider, merci à l'avance :)

+2

-tu vraiment ajouté le dossier qui contient le dossier nommé 'twisted', et non ce dossier lui-même? –

Répondre

4

Plusieurs choses à essayer ici -

  1. Depuis votre env est Mac OSX. J'ai installé des outils de ligne de commande de Xcode qui a résolu ce problème. Xcode 4.4 and later install Command Line Tools

  2. Par souci d'exhaustivité. Si cela sur Ubuntu, alors apt-get install python-twisted fonctionne généralement.

  3. de votre éclipse mettre ceci dans votre script python -

    python -c 'import sys, impression sys.path'

    Cela indique tous les chemins qui ressemble python quand vous import something. Si vous ne trouvez pas le chemin tordu là, puis ajoutez-le à ce comme - sys.path.append(twisted_dir_path)

  4. Enfin, si tout ce qui précède ne aide pas. type -p python dans un shell vous dira quelle version vous utilisez; Je serais principalement /usr/bin/ ou une variante de celui-ci.

    Ensuite, /usr/bin/python2.7 -c 'from twisted.internet.protocol import Factory,Protocol' devrait réussir.

+1

Mise à jour Xcode a fait l'affaire pour moi :) Merci! Ps: n'oubliez pas de redémarrer l'onglet terminal après la mise à jour/installation. –

1

Vous ne savez pas comment vous avez installé twisted, avez-vous essayé easy_install ou pip, ou installé manuellement?

Si vous voulez vous assurer qu'il est installé correctement, essayez d'ouvrir un terminal, en tapant python, puis "import tordu". S'il revient sans erreur, il est installé. Vous devrez peut-être définir la variable PYTHONPATH pour inclure le dossier source. Puis, puisque vous utilisez pydev dans Eclipse, vous devez actualiser votre configuration chaque fois que vous ajoutez une nouvelle bibliothèque.

Sur Mac, c'est sous Préférences -> PyDev -> Interperter-Python

Je trouve cela fonctionne mieux pour enlever ma configuration et ajoutez-le, pour qu'il ramasser tout. Mais vous pouvez cliquer sur nouveau dossier (sélectionnez le dossier avec le init .py), ou le nouvel oeuf, si c'est un oeuf easy_install (un fichier .egg est un fichier zip, s'il est décompressé, vous verrez un oeuf -INFO dossier dans le sous-répertoire du dossier que vous souhaitez sélectionner).

3

Cela m'est arrivé tellement de fois, mais j'ai compris précédemment. Fondamentalement, si vous avez trop de versions de python sur votre mac, Aptana Studio est confus pour quelque raison que ce soit, alors assurez-vous que votre installation twisted utilise le même python que la ligne de commande (même si vous avez déjà ajouté Tpted à Aptana). Je vais entrer dans plus de détails plus tard

Ok, je pense que c'est comment vous le faites:

  1. Prenez le chemin de python du python qui a subi une torsion correctement installé, en utilisant cette
    import sys
    print sys.path
    Et juste saisir le chemin de base, rien de spécifique.
  2. Aller à Aptana-preferences-PyDev-Interpreter-Python
  3. Et puis simplement ajouter une nouvelle interpreter (dans mon cas, je viens d'appeler ce python1 et mis en est le premier. Si cela ne fonctionne pas alors juste définir une nouvelle PYTHONPATH juste en dessous.
+0

Bonjour, j'ai installé trop de python. c'est pourquoi j'ai eu une erreur avec la faute de segmentation 11. une solution de contournement? – OMGPOP

+0

@OMGPOP C'était il y a un moment mais je me laisse tenter de décrire la solution dans ma réponse. Donnez-moi quelques heures, je ne suis pas à mon ordinateur maintenant. – enginefree

+0

Erreur de segmentation: 11 – OMGPOP

1

Vous devez définir le PYTHONPATH correct dans Eclipse comme suit:.

  1. clic droit de votre projet
  2. sélectionnez P ropriétés
  3. select PyDev-PYTHONPATH
  4. ajoutez votre twised dans les bibliothèques externes