Mam strukturę katalogów
├── simulate.py
├── src
│ ├── networkAlgorithm.py
│ ├── ...
I mogę uzyskać dostęp do modułu sieciowego za pomocą sys.path.insert()
.
import sys
import os.path
sys.path.insert(0, "./src")
from networkAlgorithm import *
Jednak pycharm skarży się, że nie może uzyskać dostępu do modułu. Jak mogę nauczyć pycham rozpoznawania odwołania?
__init__.py
plik?Odpowiedzi:
Ręczne dodawanie go tak, jak zostało to zrobione, jest rzeczywiście jednym ze sposobów, aby to zrobić, ale istnieje prostsza metoda, polegająca na tym, że wystarczy powiedzieć pycharm, że chcesz dodać
src
folder jako źródłowy katalog główny, a następnie dodać źródłowy katalog główny do swojego pytona ścieżka.W ten sposób nie musisz sztywno kodować rzeczy w ustawieniach tłumacza:
src
jako źródło treści źródłowej:PYTHONPATH
:W ten sposób możesz dodać, co chcesz, jako źródłowy katalog główny, a wszystko po prostu zadziała. Jeśli jednak odznaczysz go jako źródłowy katalog główny, pojawi się błąd:
Po tym wszystkim nie zapomnij uruchomić ponownie. W menu PyCharm wybierz: Plik -> Unieważnij pamięć podręczną / Uruchom ponownie
źródło
src
, mamyviews
folder, w którym mammyview.py
, wciąż pojawia się nierozwiązany błąd odniesienia podczas próbyfrom src.views.myview import <my_function>
...__init__.py
plik wsrc
folderzesrc
folder jako źródłowy katalog głównyPYTHONPATH
(patrz wyżej)źródło
Jeśli ktoś nadal na to patrzy, zaakceptowana odpowiedź nadal działa w PyCharm 2016.3, kiedy próbowałem. Interfejs użytkownika mógł się zmienić, ale opcje są nadal takie same.
to znaczy. Kliknij prawym przyciskiem myszy folder główny -> „Oznacz katalog jako” -> Katalog źródłowy
źródło
Po przetestowaniu wszystkich obejść proponuję przyjrzeć się
Settings -> Project -> project dependencies
i zmienić ich rozmieszczenie.źródło
pygame
tam i nie ma już nierozwiązanego problemu referencyjnego!Zwykle $ PYTHONPATH służy do uczenia interpretera języka Python w celu znalezienia niezbędnych modułów . PyCharm musi dodać ścieżkę w Preferencjach.
źródło
Zasadniczo jest to problem z brakującym pakietem, po prostu umieść kursor w nierozwiązanym odwołaniu i naciśnij,
Alt+Enter
aby wyświetlić opcje, a następnie powinieneś wiedzieć, jak go rozwiązać.źródło
Po wykonaniu zaakceptowanej odpowiedzi, zrobienie tego rozwiązało dla mnie:
File
→Settings
→Project <your directory/project>
→Project Dependencies
Wybierz katalog / projekt, w którym znajduje się plik z nierozstrzygniętym importem, i zaznacz pole wyboru, aby poinformować Pycharm, że ten projekt zależy od innego projektu.
Moja hierarchia folderów różni się nieco od tej w pytaniu. Mój jest taki
Mówienie Pycharmowi, że src zależy od
MyDirectory
rozwiązanego problemu dla mnie!źródło
Chociaż wszystkie odpowiedzi są naprawdę pomocne, jest jedna drobna informacja, którą należy wyjaśnić wyraźnie:
.py
plik i utworzyć tam__init__.py
(pusty) plik.Pomaga to dlatego, że ten plik jest wymagany, aby Python traktował katalog jako zawierający pakiety. Twoje zdrowie!
źródło
Zainstaluj przez PyCharm (współpracuje z edycją Community). Otwórz,
Settings > Project > Project Interpreter
a następnie kliknij zieloną ikonę + na zrzucie ekranu poniżej. W drugim oknie dialogowym, które zostanie otwarte, wprowadź nazwę pakietu i kliknij przycisk „Zainstaluj pakiet”.źródło
Wiele razy zdarza się, że wtyczka nie jest zainstalowana. na przykład
Jeśli rozwijasz projekt django i nie masz zainstalowanej wtyczki django w pyCharm, pojawia się komunikat o błędzie „nierozwiązane odniesienie”. Patrz: https://www.jetbrains.com/pycharm/help/resolving-references.html
źródło
Sprawdź, czy używasz właściwego tłumacza, którego powinieneś. Pojawił się błąd „nierozwiązany odnośnik„ django ””, aby rozwiązać ten problem. Zmieniłem interpreter projektu (zmieniłem Python 3 na Python 2.7) z ustawień projektu: wybierz Projekt, przejdź do Plik -> Ustawienia -> Projekt: -> Projekt Interpreter -> Brwi i Wybierz poprawną wersję lub interpreter (np. /usr/bin/python2.7).
źródło
W moim przypadku problemem było to, że używałem,
Virtual environment
który nie miał dostępu do globalnych pakietów witryn. Dlatego interpreter nie był świadomy nowo zainstalowanych pakietów.Aby rozwiązać problem, po prostu edytuj lub odtwórz swojego wirtualnego tłumacza i zaznacz
Inherit global site-packages
opcję.źródło
To działało dla mnie:
Top Menu -> File -> Invalidate Caches/Restart
źródło
Wykonano w PyCharm 2019.3.1 Kliknij prawym przyciskiem myszy folder src -> „Oznacz katalog jako” -> Kliknij „Wyłączone”, a folder src powinien być niebieski.
źródło
Pycharm używa venv. W konsoli venv powinieneś zainstalować pakiety jawnie lub wejść
settings -> project interpreter -> add interpreter -> inherit global site-packages
.źródło
W nowszych wersjach pycharm możesz to zrobić, klikając prawym przyciskiem myszy katalog lub pakiet Pythona, z którego chcesz zaimportować plik, a następnie kliknij „Oznacz katalog jako” -> „Źródłowy katalog główny”
źródło
Najłatwiej to naprawić, wykonując następujące czynności w oprogramowaniu pyCharm:
Kliknij: Plik> Ustawienia> (Projekt: nazwa twojego projektu)> Interpreter projektu>
następnie kliknij ikonę „+” po prawej stronie, aby wyszukać żądany pakiet i zainstalować go.
Miłego kodowania !!!
źródło