L'appel d'une fonction Python à partir d'un autre fichier

Ce problème a confondu moi pendant des jours.

J'ai deux fichiers, helpers.py et launcher.py.

Dans helpers.py j'ai défini la fonction hello(), qui affiche "bonjour".

Je veux l'appeler hello() dans launcher.py.

C'est ce que j'ai écrit dans launcher.py:

from helpers import hello
....
helpers.hello()

Mais quand je le lance, j'obtiens ceci:

    from helpers import hello
ImportError: No module named helpers

Comment puis-je résoudre ce problème?

Modifier en réponse à des réponses /commentaires

  1. Je suis sous OS X et Python 3.4
  2. Les deux fichiers sont dans le même répertoire
  3. J'ai essayé les deux façons de faire:

    from helpers import hello
    hello()

    et

    import helpers
    helpers.hello()

    Mais toujours ce bug:

    import helpers
    ImportError: No module named 'helpers'

Je pense qu'il devrait être quelque chose de mal dans le chemin de classe de Terminale.

Deuxième édition

Le problème mis en évidence dans ces réponses était un problème, mais à la fin la réinitialisation de la variable classpath résolu.

  • Pourriez-vous veuillez donner des informations sur votre système d'Exploitation et la structure du système de fichiers dans lequel vous travaillez?
  • Aucun module nommé aides signifie qu'il ne peut pas trouver le programme. Utiliser sys.chemin d'accès.append(dir_name) pour ajouter le répertoire à ceux qui en Python recherches pour les programmes de déclarations d'importation.
  • Ou vous pouvez aussi utiliser la variable d'environnement PYTHONPATH pour que.
  • Changer le chemin de classe (Java variable d'environnement) fixe un Python problème? Cela semble très étrange. Êtes-vous sûr de ne pas modifier le PYTHONPATH (un Python variable d'environnement) à la place?
InformationsquelleAutor Jack Zhao | 2015-08-17