Napisałem moduł ( my_mod.pyplik znajdujący się w folderze my_module). Obecnie pracuję na pliku cool_script.pyznajdującym się w folderze cur_proj. Otworzyłem folder w PyCharm za pomocą File - open (i zakładam, że jest to projekt PyCharm).
W ProjectView (CMD-7) widzę swój projekt cur_proj(na czerwono), a pod „Bibliotekami zewnętrznymi” widzę my_module. W cool_script.py mogę pisać
from my_module import my_mod as mm
a PyCharm sugeruje nawet my_mod. Na razie w porządku.
Jednak gdy próbuję uruchomić cool_script.py, PyCharm mówi mi „Żaden moduł o nazwie my_module”
Wydaje mi się to dziwne, ponieważ
A) w terminalu (OS 10.10.2), w pythonie mogę zaimportować moduł bez problemu - jest odpowiedni wpis w PYTHONPATH w .bashrc
B) w PyCharm - Ustawienia - Projekt cur_proj - Interpreter projektu - Koło zębate obok interpretera Pythona - więcej - pokazuje ścieżki dla wybranej ikony interpretera, pojawiają się ścieżki z PYTHONPATH (tak jak myślę, że powinny)
W związku z tym, dlaczego pojawia się błąd, gdy próbuję uruchomić cool_script.py? - Czego mi brakuje?
Uwagi:
- Nie deklaruję innej / specjalnej wersji Pythona na początku cool_script.py
- Upewniłem się, że ścieżka do
my_modulejest prawidłowa - I umieścić
__init__.pypliki (puste pliki) zarówno wmy_moduleoraz wcur_proj - Nie używam
virtualenv
Dodatek 2015-luty-25
Kiedy przechodzę do PyCharm, aby uruchomić - Edytuj konfiguracje, dla mojego bieżącego projektu są dwie opcje zaznaczone znacznikiem wyboru: „ Dodaj katalogi główne zawartości do PYTHONPATH ” i „ Dodaj katalogi źródłowe do PYTHONPATH ”. Po odznaczeniu obu mogę załadować mój moduł.
Więc teraz działa - ale dlaczego ?
Pojawiły się dalsze pytania:
- Co to są „korzenie zawartości”, a co „źródła źródłowe”? I dlaczego dodanie czegoś do PYTHONPATH powoduje jej awarię?
- czy powinienem zawsze odznaczać obie te opcje (a więc również w ustawieniach domyślnych, nie tylko w konfiguracjach specyficznych dla projektu (lewy panel okna dialogowego Uruchom / debuguj konfiguracje)?
Enable Django Supportw ustawieniach Languages & Frameworks -> Djangow wersji Pro PyCharm. To było otwarcie konsoli django, która spowodowała problemy z importem.

from foldername.mymodule import mymethod. Kolejną rzeczą, którą musiałem zrobić, jest dodanie pustego folderu _init .py do wszystkich folderów, których używałbyś, aby dostać się do swojego modułu, więc w przypadku,from parentfolder.childfolder.mymodule ...gdybyś potrzebował init w dwóch folderach. W zależności od tego, gdzie znajdują się foldery względem siebie, może być potrzebny pakiet najwyższego poziomu,sys.pathzgodnie z opisem w tej odpowiedzi