2009-10-30 8 views
1

J'ai un fichier python "testHTTPAuth.py" qui utilise le module deliciousapi et est conservé dans "deliciousapi.py".Chemin de la bibliothèque Python

J'ai gardé les fichiers comme

testHTTPAuth.py 
lib 
    deliciousapi.py 

Mais quand je lance: "python testHTTPAuth.py" il y a une erreur donnant

import deliciousapi 
ImportError: No module named deliciousapi 

Comment gérer ces bibliothèques python? Parce que plus tard, j'ai mis le code avec les bibliothèques comme application Google. Donc, je ne peux pas garder la bibliothèque dans le chemin normal de la bibliothèque.

Répondre

9

Vous devez ajouter le répertoire « lib » à votre chemin - sinon, Python ne peut pas trouver votre source. Les éléments suivants (inclus dans un module tel que testHTTPAuth.py) fera que:

sys.path.append(os.path.join(os.path.dirname(__file__), 'lib') 

suggestion de Ned de changer vos importations peuvent fonctionner, mais si quelque chose dans les importations lib sous-modules avec des chemins absolus (modules les plus grands font ça), alors ça va casser.

1

Si vous ajoutez un vide __init__.py dans votre répertoire lib, vous pouvez modifier votre déclaration d'importation:

from lib import deliciousapi 
+0

cela a fonctionné, mais j'ai plus de bibliothèques dont «delicious.py» dépendait. Par exemple: ce fichier nécessite le module 'simplejson' peut-il garder le dossier simplejson dans lib lui-même? – Saneef

Questions connexes