2009-10-22 25 views
8

Newbie pytanie (ja dopiero się rozpoczął z Python i PyDev):Jak importować projekt Pydev do interaktywnej konsoli?

Utworzyłem projekt "Plac zabaw" z (standard?) Src/root podkatalogu. Tam stworzyłem przykład.py.

Jak zaimportować mój "przykładowy" moduł do interaktywnej konsoli Pydev? ">>> import przykład" podaje: "ImportError: No module o nazwie przykład"

Odpowiedz

5

Znalazłem odpowiedź na stronie internetowej Plone: ​​Setting up PYTHONPATH in Eclipse project. Zapewnia to wygodny sposób ustawiania PYTHONPATH dla każdego projektu. W moim przypadku dodałem "/ Playground/src/root" do listy folderów źródłowych. ">>> przykład importu" pracował. (Nadal jestem zaskoczony, że pliki projektu nie są domyślnie importowane.)

Dziękuję jldupont za skierowanie mnie we właściwą stronę (patrz PYTHONPATH)!

5

Trzeba odpowiednio ustawić PYTHONPATH (wyszukiwarka Google jest twoim przyjacielem) lub użycie * .pth w instalacji site-packages katalogów wskazując na ścieżkę twojego projektu. Nie zapomnij ustawić szczegółów tłumacza za pomocą Pydev (Okno-> Preferencje-> Pydev-> tłumacz).

+0

Tak, żeby była jasność, PyDev nie robi nic automatycznego, aby pomóc mi nazwać kod projektu z jego interaktywnej konsoli? Muszę dołączyć do zmiennej środowiskowej PYTHONPATH dla każdego nowego projektu Pydev, który rozpoczynam? Jeśli tak, może zadaję niewłaściwe pytanie. Jaki jest najwygodniejszy sposób wywoływania metody modułu projektu podczas korzystania z Pydev'a? –

+0

Nie jestem pewien 100%, ponieważ zrezygnowałem jakiś czas temu ze zintegrowanej konsoli: wolałbym używać osobnej konsoli systemowej, aby upewnić się, że rzeczy są * naprawdę * poprawne ;-) W każdym razie byłem wprowadzono w miły sposób, aby skonfigurować ostatnio środowisko Python/Eclipse, które może Cię zainteresować (zamiast czekać na Pydev, aby nadrobić zaległości): http://stackoverflow.com/questions/1522867/python-how-do-you-setup -Twoja-workspace-na-ubuntu – jldupont

0

Postępując zgodnie z poradami PYTHONPATH powyżej, użyłem trochę hack, aby to zadziałało. Jeśli zrozumiem twoje pytanie, chcesz, aby bieżący katalog roboczy w środowisku IPython był ustawiony na katalog, w którym znajduje się aktywny plik. Więc jeśli edytujesz plik D: /projects/file.py, chcesz, aby polecenie pwd() (w języku IPython) zwróciło D:/projects. To stąd wzięła się zhakowana część mojego rozwiązania. Wszystkie moje projekty są na moim dysku D, ale wszystkie normalne importowanie pythona pochodzi z lokalizacji instalacji na moim dysku C. Więc, co następuje:

os.environ['PYTHONPATH'].split(os.pathsep) 

rezultaty w formie listy, na której jest tylko jedna ścieżka na dysku D, a ścieżka (z powyższych odpowiedzi) jest mojego katalogu aktywnego pliku. Jeśli nie używasz dysku D, to powinien istnieć jakiś inny unikalny sposób identyfikacji, które ścieżki na tej liście dotyczą twoich projektów. Jeśli nie ma możliwości jednoznacznego zidentyfikowania ścieżki projektu, ta odpowiedź nie działa. Ale w prostym przypadku „D: /” bycia dość unikalny identyfikator, to jest mój kod startowy w ustawieniach (Okno> Preferencje> PyDev> Interaktywne konsoli)

import sys; print('%s %s' % (sys.executable or sys.platform, sys.version)) 
import os;os.chdir([p for p in os.environ['PYTHONPATH'].split(os.pathsep) if p.startswith("D")][0]) 
pwd() 
Powiązane problemy