Ho un progetto che assomiglia a questo:Python assoluto di importazione nel modulo non riesce
my_project/
__init__.py -- empty
run.py
datacheck/
__init__.py -- empty
datacheck.py -- containing class DataCheck(object)
config.py -- containing BusinessConfig(object)
business.py -- containing class BusinessCheck(DataCheck)
mio PYTHONPATH
è configurato per avere/my_project in esso.
In run.py, ho il seguente codice:
from datacheck.business import BusinessCheck
business = BusinessCheck()
business.check_data()
In business.py, ho le seguenti importazioni che non riescono:
from datacheck.config import BusinessConfig
from datacheck.datacheck import DataCheck
Un import relativa come from .config import BusinessConfig
opere - tuttavia Ho letto in numerosi thread che si preferisce un'importazione assoluta.
Per fare un semplice test, ho anche creato il seguente:
myproject/
__init__.py -- empty
run_test.py
test/
__init__.py -- empty
test1.py -- containing class Test1(object)
test2.py -- containing class Test2(Test1)
importazioni run_test.py e gestisce la classe Test2
, questo non ha fallito.
mi ha lasciato un po 'sbalordito, non capisco il motivo per cui i miei importazioni assolute in datacheck non funzionano - qualcuno può spiegare?
'da datacheck.business importazione operazioni d'' ma business.py - contenente classe BusinessCheck (DataCheck) '... Dove è la classe' operazioni d'? – eumiro
Avete anche un file '__init __. Py' in' datacheck'? Questo file rende la directory un pacchetto e può essere vuota. –
@eumiro: scusa, piccolo errore - correggilo. –