Nierozwiązany problem odniesienia w PyCharm
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 narzeka, że nie może uzyskać dostępu do modułu. Jak mogę nauczyć pycham rozwiązywania odniesienia?
11 answers
Ręczne dodanie go tak, jak to zrobiłeś jest rzeczywiście jednym ze sposobów zrobienia tego, ale istnieje prostsza metoda, a to jest po prostu mówienie pycharmowi, że chcesz dodać folder src
jako źródło główne, a następnie dodanie źródła głównego do ścieżki Pythona.
W ten sposób nie musisz kodować rzeczy w Ustawieniach interpretera:
- Dodaj
src
jako źródło treści:
- następnie upewnij się, że Dodaj źródło do swojego
PYTHONPATH
:
- Teraz import zostanie rozwiązany:
W ten sposób, możesz dodać cokolwiek chcesz jako źródło root, i wszystko będzie po prostu działać. Jeśli jednak nie oznaczyć go jako źródło root, otrzyma błąd:
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-01-20 18:59:32
- Sprawdź plik
__init__.py
w folderzesrc
- Dodaj folder
src
jako źródłowy root - następnie upewnij się, aby dodać dodaj źródła do swojego
PYTHONPATH
(patrz wyżej) - W menu PyCharm wybierz: File --> invalid Caches / Restart
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-01-10 23:23:04
Normalnie, $PYTHONPATH jest używany do uczenia interpretera Pythona, aby znaleźć niezbędne moduły. PyCharm musi dodać ścieżkę w preferencjach.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-01-20 17:18:25
Po przetestowaniu wszystkich obejść, sugeruję, aby spojrzeć na Settings -> Project -> project dependencies
i ponownie je zorganizować.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-12-12 13:08:39
Jeśli ktoś nadal patrzy na to, przyjęta odpowiedź nadal działa dla PyCharm 2016.3, kiedy próbowałem. Interfejs może się zmienić, ale opcje są nadal takie same.
Ie. Kliknij prawym przyciskiem myszy na folderze głównym -- > 'Oznacz Katalog jako' -- > Source Root
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-09-01 16:51:58
Ogólnie rzecz biorąc, jest to brakujący problem z pakietem, po prostu umieść karetkę w nierozwiązanym odnośniku i naciśnij Alt+Enter
, aby ujawnić opcje, a następnie powinieneś wiedzieć, jak go rozwiązać.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-15 09:31:17
Zainstalować za pomocą PyCharm (działa z Community Edition). Otwórz Settings > Project > Project Interpreter
, a następnie kliknij zieloną ikonę + na zrzucie ekranu poniżej. W drugim oknie dialogowym, które się otworzy, wprowadź nazwę pakietu i kliknij przycisk "Zainstaluj pakiet".
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-17 14:38:49
Wiele razy zdarza się, że wtyczka nie jest zainstalowana. np.
Jeśli tworzysz projekt django i nie masz zainstalowanej wtyczki django w pyCharm, jest tam napisane błąd 'unsolved reference'. Refer: https://www.jetbrains.com/pycharm/help/resolving-references.html
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-03-11 10:12:11
Sprawdź, czy używasz odpowiedniego interpretera, który powinieneś. Otrzymywałem błąd "unsolved reference '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 File - > Settings - > Project: - > Project Interpreter - > Brows i wybierz poprawną wersję lub Interpreter(np.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-06-26 08:28:06
Po wykonaniu zaakceptowanej odpowiedzi, zrobienie następującej odpowiedzi rozwiązało ją dla mnie:
File
→ Settings
→ Project <your directory/project>
→ Project Dependencies
Wybierz katalog / projekt, w którym znajduje się Plik z nierozwiązanymi importami i zaznacz pole, aby powiedzieć Pycharm, że ten projekt zależy od innego projektu.
Mój katalog jest nieco inny niż ten w pytaniu. Mój jest taki├── MyDirectory
│ └── simulate.py
├── src
│ ├── networkAlgorithm.py
│ ├── ...
Mówienie Pycharmowi, że src zależy od MyDirectory
rozwiązało problem dla mnie!
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-05-16 14:34:45
Pycharm używa venv, w venv u należy zainstalować pakiety jawnie lub goto settings - >Project interpreter- >add interpreter- > inherit global site-packages
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-12-04 10:09:34