Rozumiem, że to pytanie zostało zadane kilka razy, ale po ich przeczytaniu i wprowadzeniu sugerowanych poprawek wciąż jestem zakłopotany.Błąd importu odbiorów: brak modułu o nazwie ***, ale ma __init__.py
Moja struktura projektu jest następujący:
Project
|
src
|
root - has __init__.py
|
nested - has __init__.py
|
tests - has __init__.py
|
utilities - has __init__.py
|
services - has __init__.py
Mam powodzeniem uruchomić klasę unittest regresji z Eclipse bez żadnych problemów.
Jak tylko próbował uruchomić tę samą klasę z linii poleceń (jak innych użytkowników, którzy zostaną uruchomione pakietu nie mają dostępu do Eclipse) Otrzymuję błąd:
ImportError: No module named 'root'
jak ty widać z góry, moduł główny ma wszystkie moduły: __init__.py
Wszystkie są całkowicie puste.
I pomoc zostanie z wdzięcznością przyjęta.
jest '' src' na sys.path '? Czy uruchomiłeś komendę Python w tym katalogu, czy też jawnie dodano 'src' do zmiennej środowiskowej' sys.path' (lub 'PYTHONPATH')? –
@Martijin: Próbuję wykonać z poziomu katalogu ".. \ tests". "scr" nie jest dodawany do "sys.path" ani "PYTHONPATH". Nie wiedziałem, że to konieczne, po raz pierwszy próbuje się wykonać za pomocą linii poleceń. Spróbuję dodać katalog do "PYTHONPATH" –
Nie polecam dodawania do ścieżki. Proponuję nauczyć się, jak skonfigurować "setup.py", co oznacza, że faktycznie tworzysz projekt Python. To pomaga w dłuższej perspektywie. – CppLearner