Importowanie modułu Python działa z wiersza poleceń, ale nie z PyCharm

8

Mój domyślny plik binarny Python jest ustawiony na ten z dystrybucją Anaconda w Pythonie. Ten znajduje się na /home/karnivaurus/anaconda/bin/python, i zrobiłem to domyślne poprzez dodanie do mojego .bashrcpliku, co następuje: export PATH=/home/karnivaurus/anaconda/bin:$PATH.

Mam też pakiet Python o nazwie caffe, która znajduje się pod adresem /home/karnivaurus/caffe/distribute/python, i dodałem to do pakietu wyszukiwania ścieżki poprzez dodanie do mojego .bashrcpliku, co następuje: export PYTHONPATH=${PYTHONPATH}:/home/karnivaurus/caffe/distribute/python.

Teraz mam prosty plik Python o nazwie test.pyo następującej treści:

import caffe
print "Done."

Jeśli uruchomię to, wchodząc python test.pydo terminala, będzie działać poprawnie, wypisując „Gotowe”. Mam problem, gdy uruchamiam to w PyCharm IDE. W PyCharm ustawiłem tłumacza na /home/karnivaurus/anaconda/bin/python. Ale kiedy otwieram test.pyw PyCharm i uruchamiam plik w IDE, pojawia się następujący błąd:

ImportError: No module named caffe

Moje pytanie brzmi zatem: dlaczego PyCharm nie może znaleźć caffemodułu, gdy uruchamia skrypt w języku Python, ale można go znaleźć, gdy uruchamiam skrypt z terminala?

Dziękuję Ci!

Karnivaurus
źródło
2
Wydaje mi się, że PyCharm nie dba o ciebie .bashrc, ponieważ jest to plik konfiguracyjny specyficzny dla bash. Musisz ustawić tę zmienną albo w PyCharm, albo np..profile
Byte Commander

Odpowiedzi:

11

Jak powiedział ByteCommander w komentarzu, PyCharm nie używa bashrc, więc nie wie, gdzie jest twoja biblioteka.

Na tym samym ekranie, na którym dodałeś tłumacza, możesz zobaczyć ikonę koła, kliknij ją, wyświetli się menu, kliknij więcej. Powinieneś zobaczyć taki ekran:

Konfiguracja interpretera PyCharm

Wybierz tłumacza i kliknij ostatni przycisk. To powinno otworzyć to okno:

Konfiguracja ścieżek tłumacza

Teraz klikając ikonę plusa powinieneś być w stanie dodać własne ścieżki do bibliotek.

Javier Rivera
źródło
2
Jest to dobry przykład tego, dlaczego wydawanie instrukcji jest łatwiejsze w wierszu poleceń niż w GUI.
Javier Rivera
Dzięki. Czy to sposób dodawania ścieżek zarówno do bibliotek binarnych, jak i modułów Pythona? A może moduły Pythona powinny zostać dodane do „Źródłowego źródła”?
Karnivaurus
1
Obie. Powinieneś używać źródła root tylko wtedy, gdy zamierzasz wprowadzić zmiany w tych modułach (nie musisz dodawać następnie do źródła root w celu uzupełnienia, dokumentacji lub „przejścia do źródła” do pracy).
Javier Rivera
5

Programy uruchomione z programu uruchamiającego Ubuntu nie czytają.bashrc . Jako alternatywę dla ustawiania ścieżek w PyCharm, możesz po prostu uruchomić PyCharm z powłoki Bash, aby uzyskać dostęp do ustawionych zmiennych środowiskowych .bashrc.

Mihai Capotă
źródło
Czy istnieje sposób, aby programy czytały plik .bash_rc po uruchomieniu z programu uruchamiającego?
User007
0

Otwórz następujący skrót ( Ctrl+ Alt+ S) i kliknij (Projekt: xxxx), teraz wybierz (Struktura projektu) i wybierz ( /home/yourUser/PycharmProjects/XXXX/venv/bin) i kliknij prawym przyciskiem myszy (Wyłączone) lub ( Alt+ E).

Teraz kliknij (+ Dodaj katalog główny zawartości) i sprawdź, czy wskazuje on następującą lokalizację ( /home/ yourUser/PycharmProjects/XXXXX/venv/bin) i kliknij OK. Teraz zamknij IDE i otwórz je ponownie.

Marcio Torres
źródło