Nell'organizzare progetto pitone, questa struttura sembra essere un modo standard per farlo:Come importare il pacchetto/i moduli da uno script nella cartella bin in python
myproject\
bin\
myscript
mypackage\
__init__.py
core.py
tests\
__init__.py
mypackage_tests.py
setup.py
La mia domanda è, come faccio a importare mycore.py quindi posso usarlo in myscript?
entrambi i file __init__.py
sono vuoti.
Contenuto MyScript:
#!/usr/bin/env python
from mypackage import core
if __name__ == '__main__':
core.main()
Contenuto core.py
def main():
print 'hello'
Quando eseguo myscript dall'interno directory myproject, ottengo il seguente errore:
Traceback (most recent call last):
File "bin/myscript", line 2, in <module>
from mypackage import core
ImportError: No module named mypackage
Cosa mi sto perdendo?
Il valore 'sys.path' (modificato dalla variabile di ambiente' PYTHONPATH' o in fase di esecuzione dal codice Python) determina dove 'import' cercherà i moduli. – Borealid
Considera l'uso di 'entry_points [" console_scripts "] '' in 'setup.py'. – kojiro
Quali sono i contenuti di 'setup.py'? Ed è nella directory di myproject? – mgilson