Ho un progetto pitone (che ho eseguito all'interno di un virtualenv) e che ha la seguente struttura:Python non riesce a trovare il mio modulo
Project
├───.git
├───venv
└───src
├───__init__.py
├───mymodules
│ ├───__init__.py
│ ├───module1.py
│ └───module2.py
└───scripts
├───__init__.py
└───script.py
script.py
import src.mymodules.module1
...
Eseguo il progetto con venv attivato e dalla directory Progetto utilizzando il seguente comando:
(venv)$ python src/scripts/script.py
Lo script viene eseguito, ma dà il seguente errore prima di uscire:
Traceback (most recent call last):
File "src/scripts/script.py", line 1, in <module>
import src.mymodules.module1
ImportError: No module named src.mymodules.module1
Ho provato a fare funzionare il guscio pitone e cercando di importare il modulo da lì e ha dato nessun errore. Ho _ _init__.py in ogni directory all'interno di src. Python considera la directory di lavoro come src/scripts? Perché sta succedendo e come posso creare src la directory di lavoro, se è così?
Python 2 o 3? 3 ha un modo diverso di gestire le importazioni dei moduli del pacchetto. – Mego
@Mego Python 2.7 – CrazyJony
Questo potrebbe aiutare http://stackoverflow.com/questions/33773202/how-to-import-a-class-from-a-different-folder-in-python/33773635#33773635 –