Nierozwiązane problemy z importem PyDev i Eclipse
Jestem nowy w PyDev i Pythonie, choć używałem Eclipse dla Javy. Próbuję pracować nad niektórymi przykładami Pythona i wydaje mi się, że jest to niezwykle trywialny problem, który po prostu staje się niezwykle irytujący. Używam Ubuntu Linux 10.04.
Chcę móc korzystać z pliku odbchelper.py, który znajduje się w katalogu /Desktop/Python_Tutorials/diveintopython/py
Oto mój example.py plik, nad którym pracuję w moim projekcie PyDev / Eclipse:
import sys
sys.path.append("~/Desktop/Python_Tutorials/diveintopython/py")
To działa dobrze, ale potem chcę, aby następna linijka mojego kodu była:
import odbchelper
I to powoduje nierozwiązany błąd importu za każdym razem. Dodałem Pliki __init__.py
do prawie każdego katalogu i nic to nie pomaga. Próbowałem dodawać pliki __init__.py
pojedynczo do różnych poziomów katalogów między lokalizacją projektu a odbchelper.py plik, a ja też próbowałem dodać __init__.py
pliki do wszystkich katalogów pomiędzy jednocześnie. Żadne nie działa.
All I chcesz mieć projekt gdzieś w innym katalogu, powiedzmy /Desktop/MyStuff/Project
, w którym mam example.py ... a potem od example.py chcę importować odbchelper.py od /Desktop/Python_Tutorials/diveintopython/py/
Każda odpowiedź forum mogę znaleźć po prostu mówiąc, aby użyć funkcji sys.path.append()
, aby dodać ten katalog do mojej ścieżki, a następnie zaimportować go ... ale to właśnie robię w moim kodzie i to nie działa.
Próbowałem również Ctrl-1 trick, aby stłumić komunikat o błędzie, ale program nadal nie działa poprawnie. Dostaję błąd, ImportError: No module named odbchelper
. Więc najwyraźniej nie jest to dodawanie ścieżki, lub jest jakiś problem, że wszystkie moje liczne permutacje dodawania __init__.py
plików zostały pominięte.
10 answers
We właściwościach twojego projektu pydev znajduje się panel o nazwie "PyDev - PYTHONPATH", z pod-panelem o nazwie "External Libraries". Możesz dodać foldery źródłowe (każdy folder, który ma __init__.py
) do ścieżki za pomocą tego panelu. Twój kod projektu będzie mógł importować moduły z tych folderów źródłowych.
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
2011-04-19 19:18:01
Właśnie uaktualniłem projekt WXWindows do Pythona 2.7 i nie miałem żadnych problemów z rozpoznaniem nowego interpretera przez Pydev. Zrobiłem to samo co wyżej konfigurując interpreter, zrobiłem nową instalację Eclipse i Pydev. Myślałem, że jakaś część Pythona musiała być uszkodzona, więc ponownie zainstalowałem wszystko. Arghh! Zamknął i ponownie otworzył projekt i ponownie uruchomił Eclipse pomiędzy tymi wszystkimi zmianami.
W końcu zauważyłeś ,że możesz "usunąć konfigurację projektu PyDev" klikając prawym przyciskiem myszy na projekt. Następnie można go ponownie przekształcić w projekt PyDev, teraz jest dobry jak złoto!
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-07-29 18:54:15
Używam eclipse kepler 4.3, PyDev 3.9.2 i na moim ubuntu 14.04 spotkałem się z tym samym problemem. Próbowałem i spędziłem godziny, z wszystkich powyższych większość opcji, ale na próżno. Potem wypróbowałem następujące, co było świetne:
- Select Project -> RightClick-> PyDev-> Remove Pydev Project Config
- file - > restart
A ja używałem Pythona 2.7 jako interpretera, chociaż to chyba nie działa.
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-30 16:07:52
Naprawiłem pythonpath i wszystko było elegancko, kiedy importowałem rzeczy przez konsolę, ale wszystkie te wcześniej nierozwiązane importy były nadal oznaczone jako błędy w kodzie, bez względu na to, ile razy restartowałem eclipse lub odświeżałem / czyściłem projekt.
Kliknąłem prawym przyciskiem myszy projekt - > Pydev - > usuń znaczniki błędów i pozbył się tego problemu. Nie martw się, jeśli twój kod zawiera rzeczywiste błędy, zostaną one ponownie oznaczone.
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
2012-12-04 18:38:59
Project-- > properties-- > pydev-pythonpath-- > external libraries -- > add source folder, add the PARENT FOLDER of the project. Następnie uruchom ponownie eclipse.
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-03-25 07:05:11
Oto, co dla mnie zadziałało (sugested by soulBit):
1) Restart using restart from the file menu
2) Once it started again, manually close and open it.
Jest to najprostsze rozwiązanie w historii i całkowicie usuwa irytujące rzeczy.
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-06-13 02:43:31
Istnieją dwa sposoby rozwiązania tego problemu:
- Usuń interpreter Pythona z "interpreterów Pythona" i dodaj go ponownie.
- lub po prostu Dodaj folder z bibliotekami w interpreterze, którego używasz w swoim projekcie, w moim przypadku używałem "bottle", a folder, który dodałem, to "c:\Python33\Lib\site-packages\bottle-0.11.6-py3.3.jajko "
Teraz już nie widzę błędu, a funkcja uzupełniania kodu działa również z "butelką".
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
2013-07-05 07:04:07
Używam Eclipse 4.2.0 (Juno) i PyDev 2.8.1 i napotkałem ten problem z lib zainstalowanym na mojej stronie-packages path. Zgodnie z tym pytaniem:
...jest problem z plikami PyDev i pyc. W przypadku konkretnej lib, do której próbowałem się odwołać, dostarczane są tylko pliki pyc.
Oto, co zrobiłem, aby rozwiązać ten problem:
- zainstaluj uncompyle2 z https://github.com/Mysterie/uncompyle2
-
Uruchom uncompyle2 przeciwko *.pliki pyc w site-packages lib. Przykład:
Uncompyle2 -r-o /tmp /path/to/site-packages/lib
- Zmień nazwę wynikowego*.pliki pyc_dis produkowane z uncompyle2 do*. py
- Przenieś / skopiuj te pliki*. py do ścieżki site-packages
- W Eclipse wybierz File > Restart
Nierozwiązany błąd importu odnoszący się do .pliki pyc powinny teraz zniknij.
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-05-23 12:34:41
Po, moim zdaniem rozwiąże problem
- dodanie init . py do folderu" ~/Desktop/Python_Tutorials/diveintopython/py "
- Przejdź do okna -- > Preferencje -- > PyDev -- > interpretery -- > Interpreter Pythona, aby usunąć ustawienie interpretera Pythona (powodem jest to, że PyDev nie może automatycznie odświeżyć żadnych aktualizacji wprowadzonych do dowolnego systemu PythonPath)
- Dodaj Interpreter z tymi samymi szczegółami co poprzednio (to odświeży Twój Interpreter Pythona ustawienie z aktualizacjami wykonanymi w PythonPath)
- wreszcie, ponieważ twój folder "~/Desktop/Python_Tutorials/diveintopython/py" nie jest standardową ścieżką PythonPath, musisz go dodać. Istnieją dwa sposoby, aby to zrobić
A. zgodnie z sugestią Davida germana. Jednak dotyczy to tylko konkretnych projektów, w których jesteś b. dodać w "~ / Desktop / Python_Tutorials/diveintopython / py" do nowej ścieżki PythonPath w oknie --> Preferencje --> PyDev --> interpretery --> Interpreter Pythona --> Libraries subtab -- > NewFolder
Mam nadzieję, że to pomoże.
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-10-05 02:02:47
KD.py
class A:
a=10;
KD2.py
from com.jbk.KD import A;
class B:
b=120;
aa=A();
print(aa.a)
To działa idealnie dla mnie
Innym przykładem jest
main.py
=======
from com.jbk.scenarios.objectcreation.settings import _init
from com.jbk.scenarios.objectcreation.subfile import stuff
_init();
stuff();
settings.py
==========
def _init():
print("kiran")
subfile.py
==========
def stuff():
print("asasas")
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-01-25 19:48:47