Mam aplikację w pracy, która jest skonfigurowana z następującą strukturą.Jak mogę poinformować PyCharm o lokalizacji niestandardowych modułów?
/project_root
/applications
/app1
__init__.py
/app2
__init__.py
...
/appN
/pkg
/database
__init__.py
/toolbox
__init__.py
...
__init__.py
__init__.py
main_framework.py
Badam za pomocą PyCharm (wydanie społecznościowe) zamiast narzędzia PyDev firmy Eclipse. W __init__.py
w app1
mam instrukcji import, który wygląda tak:
import pkg.database
pycharm skarży się na import z komunikatem no module named pkg
.
(kliknij aby powiększyć obrazek)
Ze względu na to, jak ramy jest zbudowany, choć system działa dobrze. Każdy z appN
jest znany z katalogu pkg
. Jak poinformować PyCharm, że mam niestandardowe moduły wbudowane w katalogu pkg
, aby ostrzeżenia przestały działać?
Testuję wersję społecznościową PyCharm 4.0.3.
Kilka rzeczy próbowałem, dzięki za komentarze poniżej, które nie pomogły:
- W oknie struktury projektu, project_root został wymieniony jako jedynego katalogu pod „ROOT Content” po prawej stronie ręka po stronie okna dialogowego. Dodałem katalog
pkg
, aby był również wymieniony. To nie miało wpływu. - W początkowej wersji pytania przegapiłem
__init__.py
wpkg
podczas wyświetlania struktury. Ten plik istnieje.
Zrobiłeś "project_root" jako źródło katalogu głównego dla twojego projektu? – nbro
Spróbuj użyć 'project_root.pkg.database' mimo, że myślę, że to nie zadziała. Druga opcja, spróbuj zrobić również 'pkg' jako root, oznacz go jako' Source'. Jeśli to zadziała, to powiedz mi, a opublikuję to jako odpowiedź. Myślę, że drugi powinien działać. – nbro
Druga opcja nie działała (ustawiłem ją jako 'Source', a następnie ponownie uruchomiłem PyCharm). Zastanowię się nad pierwszą opcją, jeśli nic innego nie pojawi się po prostu dlatego, że nie chcę modyfikować wszystkich skryptów 'appN', jeśli nie potrzebuję. – Andy