2010-02-04 5 views
0

Je suis en train d'accéder à mes cours viaComment puis-je accéder à mes classes à partir de la console python sur MAC OSX?

from project import * 

Mais quelque chose de la console python semble être hors des sentiers. Comment définir les chemins corrects pour mon projet afin que je puisse importer des classes?

Mes modèles sont stockés dans:

/Users/username/project/project/model 

from project import * 

Et l'erreur lit comme suit:

ImportError: No module named project 

Merci.

+0

Voici vos projets - quel chemin? – Mark

+0

"off"? Avez-vous un message d'erreur qui nous révélerait ce que vous voyez? –

+0

De quel chemin démarrez-vous la console? – ebo

Répondre

4

Vous avez les choix suivants

  • Commencez votre session de python dans le répertoire/utilisateur/nom d'utilisateur/dossier de projet
  • Changer votre ligne d'importation from project.project import *
  • Définissez la variable d'environnement PYTHONPATH à/utilisateur/nom d'utilisateur/projet (setenv PYTHONPATH /User/username/project)
  • Ajout/utilisateur/nom d'utilisateur/projet sys.path

import sys

sys.path.append('/User/username/project')

1

Très probablement, vous devrez définir la variable d'environnement PYTHONPATH, ou changer dans le bon répertoire.

Je suppose que vous ne commencez pas votre console à partir de:/Users/nom d'utilisateur/projet

Vous avez plusieurs options maintenant:

  1. changement dans ce répertoire
  2. Définissez la variable d'env PYTHONPATH que répertoire (mais qui se fait dans MacOSX)
  3. Utilisez le module site pour ajouter le chemin: python docs
1

Cela pourrait être une suggestion stupide, mais avez-vous un fichier __init__.py dans le module que vous importez? sinon, créez-en un vide. Vous devrez également exécuter from project import * à partir du répertoire /Users/name/project/. c'est-à-dire: vous devrez démarrer l'interface de ligne de commande python à partir de /Users/name/project/. Si cela ne vous convient pas, alors vous avez déjà suggéré de changer où python cherche les modules.

En tant que sidenote, l'utilisation from module import * est généralement considérée comme mauvaise forme. Essayez de spécifier ce que vous voulez importer.

Questions connexes