2010-02-14 3 views

Répondre

9

Le code que vous voulez est pour l'utilisation src/module_name.py

from src import module_name 

et le répertoire racine est sur votre PYTHONPATH par exemple vous exécutez à partir du répertoire racine

Votre structure de répertoire est ce que j'utilise mais avec le nom de modèle à la place de src. Je suis arrivé cette structure de J Calderone's blog et similaire à A google blog

+0

il ne fonctionne pas = ( –

+0

peut packages (dossiers) ont underscores au milieu du nom –

+1

Aussi, assurez-vous que le? Le répertoire src est un paquet, en ajoutant un fichier '' __init __ .py'' – codeape

7

Essayez ceci:

import sys 
import os 
sys.path.append(os.path.join('..', 'src')) 
import module_in_src_folder 

édité pour soutenir toute plate-forme

+0

Downvoted parce que cela implique de jouer avec PYTHONPATH. –

0

J'ai exactement la même situation que l'OP avec tous les projets de python Je vous écris:

  • dossier projet
    1. src
    2. Test

Tous les modules, que ce soit dans src, ou un test, ou des sous-dossiers de ces toujours utiliser la forme de import que Mark montre dans sa réponse:

from src import module_name 

Ce que j'ai fait est d'écrire un module qui se trouve dans Project Folder et découvre récursivement tous les modules de test dans le dossier de test et devient unittest pour exécuter tous ces tests. Lorsque python s'exécute en Project Folder, les modules sont relatifs au répertoire de travail.

Cela signifie que les tests sont comme n'importe quel autre client qui souhaite des modules de src.

Questions connexes