Jak uruchomić Spydera w środowisku wirtualnym?

99

Używam Spydera zainstalowanego z dystrybucją Anaconda, która domyślnie używa Pythona 2.7. Obecnie muszę skonfigurować wirtualne środowisko programistyczne w Pythonie 3.4.

Dwie najważniejsze sugestie po przeprowadzeniu badań online to:

  1. najpierw ustawić środowisko wirtualne i wskazać zmianę preferencji Spydera, np. tutaj ;
  2. zainstalować wszystkie zależności Spyder, takie jak PyQt4, w samym środowisku wirtualnym, np. tutaj ;

Oba zalecenia są uciążliwe i nie wyglądają na inteligentne opcje rozwoju.

Czy istnieje rozwiązanie, które pozwoliłoby na automatyczne uruchomienie Spydera z wymaganą wersją Pythona po aktywacji wymaganego środowiska wirtualnego?

tomaskazemekas
źródło

Odpowiedzi:

118

Oto szybki sposób na zrobienie tego w 2020 roku. Korzystanie z Anaconda Navigator:

  1. Otwórz Anaconda Navigator
  2. Stwórz nowe środowisko, jak chcesz. Nazwałem to środowisko „test”. Kliknij go, aby go aktywować.

wprowadź opis obrazu tutaj

  1. Przejdź do „Strona główna” i kliknij „Zainstaluj” w oknie Spyder.

wprowadź opis obrazu tutaj

  1. Kliknij „Uruchom / Uruchom”

Nadal istnieje kilka drobnych błędów podczas konfigurowania środowiska (z których większość można rozwiązać przez ponowne uruchomienie Nawigatora), jeśli znajdziesz błąd, opublikuj go w narzędziu do śledzenia błędów Anaconda . Dzięki.


Jeśli nawet to nie zadziała, Navigator może nadal być przydatny, klikając> Środowiska przeniesie Cię do okna zarządzania modułami zainstalowanymi w takim środowisku, wyszukując i wybierając te związane ze spyderem, a następnie klikając Zastosuj, zainstaluje je i ich zależności.

wprowadź opis obrazu tutaj

adelriosantiago
źródło
11
Jeśli to możliwe, należy to dodać do najlepszego rozwiązania
dward4
2
O wiele lepiej.
Eric Auld
2
Tak. Wydaje się, że dla każdego VE trzeba zainstalować inną instancję Spydera.
Michaił Genkin
3
Czy mogę to zrobić z wiersza poleceń? Uruchamianie Nawigatora za każdym razem wydaje się
męką
1
@nocibambi Tak, jeśli masz na myśli tylko uruchomienie Spydera w env z cmd, zobacz dolną część odpowiedzi tomaskazemekas.
Lorenz
105

Istnieje możliwość tworzenia wirtualnych środowisk w Anaconda z wymaganą wersją Pythona.

conda create -n myenv python=3.4

Aby go aktywować:

source activate myenv   # (in linux, you can use . as a shortcut for "source")
activate myenv          # (in windows - note that you should be in your c:\anaconda2 directory)

UPDATE . Przetestowałem to z Ubuntu 18.04. Teraz musisz dodatkowo zainstalować spydera dla nowego środowiska za pomocą tego polecenia (po aktywacji środowiska powyższym poleceniem):

conda install spyder

(Testowałem również instalację za pomocą pip, ale w przypadku Pythona 3.4 lub starszych wersji zrywa się z błędem zależności bibliotek, który wymaga ręcznej instalacji).

A teraz, aby uruchomić Spydera z Pythonem 3.4, wystarczy wpisać:

spyder

Spyder z Pythonem 3.4

EDYCJA od czytelnika:

Dla normalnego otwierania, stosowanie „Anaconda Monit”> activate myenv> spyder(wtedy „Anaconda Monit” musi pozostać otwarta, nie można używać do innych komend, a siły blisko będzie zamknięty Spyder). Jest to oczywiście szybsze niż długie ładowanie „Anaconda Navigator”> przełącz środowisko> uruchom Spydera (odpowiedź @ adelriosantiago).

tomaskazemekas
źródło
7
Przetestowałem to na Windows 7 i zadziałało. Nie musisz dodawać słowa „źródło” na początku, aby aktywować środowisko. Aby mieć Python 2,7, zmień ustawienie na python = 2.7.
tomaskazemekas
4
Och, może najpierw musisz zainstalować Spydera w tym środowisku? Stworzyłem środowisko z numpy zamiast anaconda, więc może działa spyder z głównego środowiska?
endolit
4
to wydaje się być problemem. to samo z ipythonem, ale zostało naprawione po zainstalowaniu go w środowisku
endolith
9
Zauważyłem również, że w systemie Windows (10) samo uruchomienie Spydera ze środowiska Anaconda nadal uruchamiało Spyder z moim domyślnym Pythonem i musiałem najpierw zainstalować Spydera w środowisku Anaconda, aby otworzyć Spydera z Pythonem tego środowiska.
Max Power
9
Upewnij się również, że masz Spydera w tym środowisku doconda install -n myenv spyder
shahar_m
57

Dodatkowo do odpowiedzi tomaskazemekas: powinieneś zainstalować Spydera w tym wirtualnym środowisku poprzez:

conda install -n myenv spyder

(w systemie Windows, Linux lub MacOS możesz szukać podobnych poleceń)

Tin Luu
źródło
2
Spyder jest zwykle instalowany jako część listy pakietów Anconda Python . Dodatkowa instalacja może być potrzebna tylko w przypadku minikondy.
tomaskazemekas
1
Tak to prawda. W moim przypadku miałem już zainstalowane środowisko wirtualne i jest to wersja uproszczona, instaluję tylko bardzo potrzebne pakiety. Chyba ktoś jest w mojej sytuacji.
Tin Luu,
@tomaskazemekas sir Zainstalowałem minicondę3 :) Jak mogę uruchomić mój kod Pythona w Spyder, ponieważ nie wiem, jak uruchomić Spydera? kiedy wpisuję „spyder” w wierszu polecenia miniconda „nie można rozpoznać tego polecenia”, generowany jest błąd.
Noman marwat
@Noman marwat Ponieważ spyder nie jest częścią Minicondy, musisz go zainstalować przed uruchomieniem z poleceniem conda install spyder.
tomaskazemekas
Następnie poszukaj łącza symbolicznego w myenv/binkatalogu i skopiuj go do Applicationsfolderu, aby móc go łatwo znaleźć i uruchomić Spydera w jego środowisku bez konieczności wpisywania małego, czarnego okna! (możesz łatwo dodać do niego ikonę, jeśli lubisz ikony)
PatrickT
49

Co mi pomogło:

  1. uruchom Spydera ze środowiska (po aktywacji źródła)
  2. przejdź do Narzędzia -> preferencje -> Python Interpreter i wybierz plik Pythona z env, do którego chcesz się połączyć, spyder ex: / home / you / anaconda3 / envs / your_env / bin / python

Pracowałem na ubuntu 16, spyder3, python3.6.

Boussad
źródło
Po wypróbowaniu całej reszty tego i innych postów (dwa dni próbowania!), Było to jedyne działające rozwiązanie w celu ustawienia odpowiednich środowisk środowiska w Spider ..
Antonio Canepa
Nie wymagaj kroku (1), ponieważ krok (2) już skierował interpreter do środowiska.
Feras
3
@Feras Dla przyszłych czytelników: Pomyślałem również, że krok 1 jest zbędny. Ale pominięcie go powoduje różnego rodzaju szalone błędy (a nawet powoduje błąd interfejsu użytkownika i brak odpowiedzi Spydera).
cheekybanana
20

Aby obejść się bez ponownej instalacji Spydera we wszystkich środowiskach, skorzystaj z oficjalnego odniesienia tutaj .

Podsumowując (testowane z condą):

  • Spyder należy zainstalować w środowisku podstawowym

Z monitu systemowego:

  • Utwórz nowe środowisko. Zwróć uwagę, że w zależności od tego, jak go utworzysz (conda, virtualenv), folder środowiska będzie znajdować się w innym miejscu w systemie)

  • Aktywuj środowisko (np. conda activate [yourEnvName])

  • Zainstaluj jądra Spyder w środowisku (np. conda install spyder-kernels)

  • Znajdź i skopiuj ścieżkę do pliku wykonywalnego Pythona w środowisku. Znalezienie tej ścieżki można wykonać za pomocą tego polecenia z wiersza poleceniapython -c "import sys; print(sys.executable)"

  • Dezaktywuj środowisko (tj. Wróć do bazy conda deactivate)

  • run spyder ( spyder3)

  • Na koniec w menu Spyder Tool przejdź do Preferencje> Python Interpreter> Użyj następującego interpretera i wklej ścieżkę do pliku wykonywalnego środowiska Python

  • Uruchom ponownie konsolę ipython

PS: w spyderze powinieneś zobaczyć na dole coś takiegowprowadź opis obrazu tutaj

Voila

Alexis
źródło
To jedyna rozsądna odpowiedź.
sjsam
Zauważ, że podczas korzystania z virtualenv i spyder 4.1.3 nic nie pojawia się w dolnej linii, potwierdzając (chociaż wszystko działało zgodnie z przeznaczeniem)
Alexis
To jest poprawna odpowiedź! Ponadto instalacja Spydera może odbywać się w dowolnym środowisku wirtualnym Conda. Nie musi znajdować się w podstawowym środowisku.
Sanchit
1
Masz rację @Sanchit, możesz "pip / conda" zainstalować Spydera w każdym środowisku, a następnie wywołać go stamtąd, ale jeśli chcesz tylko jedną instalację, to jest rozwiązanie
Alexis
10

Powyższe odpowiedzi są poprawne, ale dzwoniąc spyderw ramach mojego virtualenv nadal używam my PATHdo wyszukania wersji spyder w moim domyślnym env anaconda. Znalazłem tę odpowiedź, która dała następujące obejście:

source activate my_env            # activate your target env with spyder installed
conda info -e                     # look up the directory of your conda env
find /path/to/my/env -name spyder # search for the spyder executable in your env
/path/to/my/env/then/to/spyder    # run that executable directly

Wybrałem to zamiast modyfikowania PATHlub dodawania łącza do pliku wykonywalnego o wyższym priorytecie, PATHponieważ uważałem, że jest to mniej prawdopodobne, że zepsuje inne programy. Jednak dodałem alias do pliku wykonywalnego w ~/.bash_aliases.

Steven Kalt
źródło
8

Właśnie miałem ten sam problem, próbując uruchomić Spydera w środowisku wirtualnym.

Rozwiązanie jest proste:

Aktywuj swoje wirtualne środowisko.

Następnie pip zainstaluj Spyder i jego zależności (PyQt5) w swoim środowisku wirtualnym.

Następnie uruchom Spyder3 z interfejsu wiersza polecenia środowiska wirtualnego.

Teraz działa dobrze dla mnie.

Jeruzalem programista
źródło
1
To już nie działa z Pythonem2 pod Ubuntu 16. Jakieś pomysły na obejście?
masad
Python 2 jest przestarzały. Jest zalecane i wskazane, aby zaktualizować się do Pythona 3.
Jerusalem Programmer,
4

W systemie Windows:

Możesz utworzyć skrót wykonujący

Anaconda3\pythonw.exe Anaconda3\cwp.py Anaconda3\envs\<your_env> Anaconda3\envs\<your env>\pythonw.exe Anaconda3\envs\<your_env>\Scripts\spyder-script.py

Jeśli jednak uruchomiłeś Spydera ze swojego Venv w powłoce Anacondy, wydaje mi się, że tworzy on dla Ciebie ten skrót (po prostu wyszukaj „Spyder” w systemie Windows).

smoothware
źródło
1

Postępuję zgodnie z jedną z powyższych rad i rzeczywiście działa. Podsumowując, podczas pobierania Anacondy na Ubuntu, korzystając z porad podanych powyżej, możesz „tworzyć” środowiska. Domyślnie po pobraniu Spydera w moim przypadku jest to: (podstawowy) smith @ ubuntu ~ $ . Po utworzeniu środowiska, tj. Fenics i uaktywnieniu go za pomocą $ conda, aktywuj fenics, natychmiastowa zmiana na (fenics) smith @ ubuntu ~ $ . Następnie uruchamiasz Spydera z tego znaku zachęty, czyli $ spydera twój system otwiera Spyder IDE i możesz na nim napisać kod fenics. Pamiętaj, że za każdym razem, gdy otwierasz terminal, system otwiera domyślny monit. Musisz aktywować swoje środowisko, w którym znajduje się pakiet i natychmiastową zmianę w nim, np. (Fenics). Mam nadzieję, że to pomoże. Dziękuję i wszystkim, którzy pomagają. Ta społeczność jest świetna.

batman47
źródło