2010-11-21 20 views
0

J'utilise simplejson pour obtenir des données de l'API Time de New York. Cela fonctionne quand j'exécute le fichier par le terminal avec la commande "python test.py" mais pas quand je cours TextMate en utilisant la commande + R. Je cours exactement le même fichier. Pourquoi est-ce?Pourquoi simplejson fonctionne-t-il dans Terminal et non dans TextMate?

Je cours Snow Leopard 10.6.4, TextMate 1.5.10, et Python 2.6.4.

Edit: Désolé d'oublier d'inclure ceci: par "ne fonctionne pas", je veux dire, il dit "Aucun module nommé simplejson". J'ai aussi remarqué que cela arrive aussi pour PyMongo ("Pas de module nommé pymongo").

+1

simplejson gère JSON, pas l'acquisition de données. –

+0

Essayez d'exécuter ce script à la fois dans textmate et terminal: 'import sys; imprimez "\ n" .join (sys.path) 'et ajoutez cette sortie à votre question; cela nous dira quel chemin est manquant. –

Répondre

1

Ce qui ne fonctionne pas? Vous devriez fournir plus d'informations comme les messages d'erreur et quoi d'autre. Cependant, je suppose que la version de python est différente, et simplejson n'est pas sur votre PYTHONPATH lorsqu'il est lancé à partir de textmate.

0

Juste pour que vous sachiez, simplejson a été incorporé dans la bibliothèque standard de la distribution de Python 2.6 comme json. Donc, si vous n'avez pas envie de lutter avec le problème d'importation, essayez simplement de changer toutes vos références à simplejson à json à la place. Mais, comme suggéré, cela va s'avérer être un problème PythonPath. Exécutez ces lignes dans l'interpréteur Python et à partir de TextMate et comparez les résultats.

import sys 
print sys.path 

Pour savoir où simplejson est installé (si vous ne connaissez pas), faites ceci dans l'interpréteur Python:

import simplejson 
print simplejson.__file__ 

Si vous voulez/devez définir PYTHONPATH manuellement pour TextMate, vous peut le faire en l'ajoutant sous Préférences> Avancé> Variables du shell.