Jestem bardzo nowy w PyDev i Pythonie, chociaż często używałem Eclipse dla Javy. Próbuję przepracować kilka przykładów Dive Into Python i wydaje mi się, że jest to niezwykle trywialny problem, który 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 plik example.py, nad którym pracuję w moim projekcie PyDev / Eclipse:
import sys
sys.path.append("~/Desktop/Python_Tutorials/diveintopython/py")
Działa to dobrze, ale chcę, aby następna linia mojego kodu wyglądała następująco:
import odbchelper
a to powoduje za każdym razem nierozwiązany błąd importu. Dodałem __init__.py
pliki do prawie każdego możliwego katalogu i nic to nie pomaga. Próbowałem dodawać __init__.py
pliki pojedynczo do różnych poziomów katalogów między lokalizacją projektu a plikiem odbchelper.py, a także próbowałem dodawać __init__.py
pliki do wszystkich katalogów jednocześnie. Ani jedno, ani drugie nie działa.
Chcę tylko mieć projekt gdzieś w jakimś innym katalogu, powiedzmy /Desktop/MyStuff/Project
, w którym mam example.py ... a następnie z example.py chcę zaimportować odbchelper.py z/Desktop/Python_Tutorials/diveintopython/py/
Każda odpowiedź na forum dyskusyjnym, którą mogę znaleźć, po prostu mówi, aby użyć sys.path.append()
funkcji, aby dodać ten katalog do mojej ścieżki, a następnie zaimportować go ... ale to jest dokładnie to, co robię w moim kodzie i nie działa.
Próbowałem też Ctrl- 1triku, aby ukryć komunikat o błędzie, ale program nadal nie działa poprawnie. I pojawia się błąd, ImportError: No module named odbchelper
. Więc najwyraźniej nie dodaje się ścieżki lub jest problem, który __init__.py
został pominięty we wszystkich moich wielu kombinacjach dodawania plików.
To bardzo frustrujące, że coś tak prostego ... wywoływanie rzeczy z jakiegoś pliku, który istnieje gdzie indziej na moim komputerze ... wymaga tak dużego wysiłku.
grp
modułu. Właśnie dodałem go dobuiltins
listy w Preferencje> PyDev> Interpreters> Python> Forced Builtins i nadal otrzymuję autouzupełnianie dla tego modułuOdpowiedzi:
We właściwościach projektu pydev znajduje się panel o nazwie „PyDev - PYTHONPATH” z okienkiem podrzędnym o nazwie „Biblioteki zewnętrzne”. Możesz dodać foldery źródłowe (dowolny folder, który ma
__init__.py
) do ścieżki za pomocą tego panelu. Twój kod projektu będzie wtedy mógł importować moduły z tych folderów źródłowych.źródło
sys.path
C:\Python27\lib\site-packages
, ale na moim komputerze folder lib są aktywowane:C:\Python27\Lib\site-packages
. Zastąpienie wpisu z małej litery na dużą, a następnie Plik-> Uruchom ponownie rozwiązało problem za mnie. Mam nadzieję, że pomoże to komuś innemu :)Używam eclipse kepler 4.3, PyDev 3.9.2 i na moim ubuntu 14.04 napotkałem ten sam problem. Próbowałem i spędziłem wiele godzin, korzystając ze wszystkich powyższych opcji, ale na próżno. Potem wypróbowałem następujące, co było świetne:
I używałem Pythona 2.7 jako interpretera, chociaż myślę, że to nie ma wpływu.
źródło
Właśnie zaktualizowałem projekt WXWindows do Pythona 2.7 i nie miałem żadnych problemów ze skłonieniem Pydeva do rozpoznania nowego interpretera. Zrobiłem to samo, co powyżej, konfigurując interpreter, wykonałem nową instalację Eclipse i Pydev. Pomyślałem, że jakaś część Pythona musiała być uszkodzona, więc ponownie zainstalowałem wszystko. Arghh! Zamknięcie i ponowne otwarcie projektu oraz ponowne uruchomienie Eclipse pomiędzy wszystkimi tymi zmianami.
W KOŃCU zauważyłem, że możesz „usunąć konfigurację projektu PyDev”, klikając projekt prawym przyciskiem myszy. Następnie można go ponownie przekształcić w projekt PyDev, teraz jest dobry jak złoto!
źródło
Naprawiłem pythonpath i wszystko wyglądało elegancko, kiedy importowałem rzeczy przez konsolę, ale wszystkie te wcześniej nierozwiązane importy nadal były oznaczone jako błędy w moim kodzie, bez względu na to, ile razy restartowałem zaćmienie lub odświeżałem / czyściłem projekt.
Kliknąłem prawym przyciskiem myszy projekt-> Pydev-> Usuń znaczniki błędów i pozbyłem się tego problemu. Nie martw się, jeśli Twój kod zawiera rzeczywiste błędy, zostaną one ponownie zaznaczone.
źródło
projekt -> właściwości -> pydev-pythonpath -> biblioteki zewnętrzne -> dodaj folder źródłowy, dodaj FOLDER NADRZĘDNY projektu. Następnie uruchom ponownie zaćmienie.
źródło
Oto, co zadziałało dla mnie (sugerowane przez soulBit):
To najprostsze rozwiązanie w historii, które całkowicie usuwa irytujące rzeczy.
źródło
Istnieją dwa sposoby rozwiązania tego problemu:
Teraz nie widzę już błędu, a funkcja uzupełniania kodu działa również z „butelką”.
źródło
Używam Eclipse 4.2.0 (Juno) i PyDev 2.8.1 i napotkałem ten problem z biblioteką zainstalowaną w mojej ścieżce pakietów witryny. Zgodnie z tym pytaniem SO:
Pliki Pydev i * .pyc
... występuje problem z plikami PyDev i pyc. W przypadku konkretnej biblioteki, do której próbowałem się odwołać, dostarczono tylko pliki pyc.
Oto, co zrobiłem, aby rozwiązać ten problem:
Uruchom uncompyle2 na plikach * .pyc w pakiecie witryny lib. Przykład:
uncompyle2 -r -o / tmp / path / to / site-packages / lib
Nierozwiązany błąd importu dotyczący plików .pyc powinien teraz zniknąć.
źródło
Moim zdaniem podążanie dalej rozwiąże problem
za. Jak zasugerował David German. Jednak dotyczy to tylko określonych projektów, w których uczestniczysz. Dodaj "~ / Desktop / Python_Tutorials / diveintopython / py" do nowej PythonPath w Window -> Preferences -> PyDev -> Interpreters -> Python Interpreter -> Libraries -> NewFolder
Mam nadzieję, że to pomoże.
źródło
Miałem pewne problemy z importowaniem dodatkowych bibliotek, po próbie rozwiązania problemu, rozumiejąc PYTHONPATH, Interpreter i Grammar, stwierdziłem, że zrobiłem wszystko, co napisałem, ale problemy nadal występują. Następnie po prostu dodaję nową pustą linię w plikach, które zawierały błędy importu i zapisałem je, a błąd został rozwiązany .
źródło
TO działa idealnie dla mnie
Innym przykładem jest
źródło