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?

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


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).


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ń)


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.


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


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.


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.


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).


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.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.