Bagaimana cara menjalankan Spyder di lingkungan virtual?

99

Saya telah menggunakan Spyder yang diinstal dengan distribusi Anaconda yang menggunakan Python 2.7 sebagai default. Saat ini saya perlu menyiapkan lingkungan virtual pengembangan dengan Python 3.4.

Dua saran teratas setelah penelitian online adalah:

  1. untuk mengatur lingkungan virtual terlebih dahulu dan untuk mengubah preferensi Spyder, misalnya di sini ;
  2. untuk menginstal semua dependensi Spyder, seperti PyQt4, di lingkungan virtual itu sendiri, misalnya di sini ;

Kedua rekomendasi tersebut tidak praktis dan tidak terlihat seperti opsi cerdas untuk pengembangan.

Apakah ada solusi yang memungkinkan untuk menjalankan Spyder dengan versi Python yang diperlukan secara otomatis setelah mengaktifkan lingkungan virtual yang diperlukan?

tomaskazemekas
sumber

Jawaban:

118

Berikut adalah cara cepat untuk melakukannya di tahun 2020. Menggunakan Anaconda Navigator:

  1. Buka Anaconda Navigator
  2. Ciptakan lingkungan baru Anda sesuai keinginan. Saya menamakan lingkungan ini "test". Klik di atasnya untuk mengaktifkannya.

masukkan deskripsi gambar di sini

  1. Pergi ke "Home" dan klik "Install" di bawah kotak Spyder.

masukkan deskripsi gambar di sini

  1. Klik "Luncurkan / Jalankan"

Masih ada beberapa bug minor saat mengatur lingkungan Anda (sebagian besar diselesaikan dengan memulai ulang Navigator), jika Anda menemukan bug, silakan posting di Anaconda Issues bug-tracker. Terima kasih.


Jika ini tidak berhasil, Navigator masih bisa berguna, mengklik> Enviroments membawa Anda ke jendela manajemen untuk modul yang diinstal pada lingkungan seperti itu, mencari dan memilih yang terkait dengan mata-mata, dan kemudian mengklik Terapkan akan menginstalnya dan ketergantungan mereka.

masukkan deskripsi gambar di sini

adelriosantiago
sumber
11
Ini harus ditambahkan ke solusi teratas jika memungkinkan
dward4
2
Jauh lebih baik.
Eric Auld
2
Ya. Sepertinya seseorang harus menginstal contoh Spyder yang berbeda untuk setiap VE.
Mikhail Genkin
3
Bisakah saya melakukan ini dari baris perintah? Menjalankan Navigator setiap kali tampak seperti hambatan ...
nocibambi
1
@nocibambi Ya, jika Anda bermaksud menjalankan Spyder di env dari cmd, lihat bagian bawah jawaban tomaskazemekas.
Lorenz
105

Ada opsi untuk membuat lingkungan virtual di Anaconda dengan versi Python yang diperlukan.

conda create -n myenv python=3.4

Untuk mengaktifkannya:

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 . Saya telah mengujinya dengan Ubuntu 18.04. Sekarang Anda harus menginstal spyder tambahan untuk lingkungan baru dengan perintah ini (setelah aktivasi lingkungan dengan perintah di atas):

conda install spyder

(Saya juga telah menguji penginstalan dengan pip, tetapi untuk Python 3.4 atau versi yang lebih lama, ini rusak dengan kesalahan ketergantungan pustaka yang memerlukan penginstalan manual.)

Dan sekarang untuk menjalankan Spyder dengan Python 3.4 cukup ketik:

spyder

Spyder dengan Python 3.4

EDIT dari pembaca:

Untuk pembukaan normal, penggunaan "Anaconda Prompt"> activate myenv> spyder(maka "Anaconda Prompt" harus tetap terbuka, Anda tidak dapat menggunakannya untuk perintah lain, dan kekuatan-dekat akan menutup Spyder). Ini tentu saja lebih cepat daripada pemuatan lama "Anaconda Navigator"> beralih lingkungan> luncurkan Spyder (jawaban @ adelriosantiago).

tomaskazemekas
sumber
7
Saya telah menguji ini di Windows 7 dan berhasil. Anda tidak perlu menambahkan kata "sumber" di awal untuk mengaktifkan lingkungan. Untuk memiliki Python 2,7, ubah pengaturan menjadi python = 2.7.
tomaskazemekas
4
oh mungkin Anda harus menginstal spyder ke lingkungan itu terlebih dahulu? Saya menciptakan lingkungan dengan numpy dan bukan anaconda, jadi mungkin menjalankan spyder dari lingkungan utama?
endolith
4
tampaknya itulah masalahnya. hal yang sama dengan ipython tetapi diperbaiki setelah menginstalnya di dalam lingkungan
endolith
9
Saya juga menemukan bahwa di windows (10), baru saja meluncurkan spyder dari lingkungan anaconda masih meluncurkan spyder dengan python default saya, dan saya harus menginstal spyder di lingkungan anaconda terlebih dahulu untuk membuka spyder dengan python lingkungan itu.
Max Power
9
Pastikan juga Anda memiliki pengintai di lingkungan itu paling conda install -n myenv spyder
lambat
57

Tambahan untuk jawaban tomaskazemekas: Anda harus menginstal spyder di lingkungan virtual itu dengan:

conda install -n myenv spyder

(di Windows, untuk Linux atau MacOS, Anda dapat mencari perintah serupa)

Tin Luu
sumber
2
Spyder biasanya dipasang sebagai bagian dari daftar paket Python Anconda . Instalasi tambahan mungkin diperlukan hanya dalam kasus miniconda.
tomaskazemekas
1
Ya itu betul. Dalam kasus saya, saya menginstal lingkungan virtual saya sebelumnya, dan ini adalah versi ringan, saya hanya menginstal paket yang sangat diperlukan. Saya kira ada seseorang dalam situasi saya.
Tin Luu
@tomaskazemekas pak saya menginstal miniconda3 :) bagaimana saya bisa menjalankan kode python saya di spyder karena saya tidak tahu cara menjalankan spyder? ketika saya mengetik "spyder" di miniconda prompt "tidak bisa mengenali perintah ini" kesalahan dihasilkan.
Noman marwat
@Noman marwat Karena spyder bukan bagian dari miniconda, Anda harus menginstalnya sebelum menjalankan perintah conda install spyder.
tomaskazemekas
Setelah itu, cari symlink di dalam myenv/bindirektori dan salin di Applicationsfolder sehingga Anda dapat dengan mudah menemukannya dan meluncurkan Spyder di dalam lingkungannya tanpa harus mengetik di jendela hitam kecil! (Anda juga dapat dengan mudah menambahkan ikon ke dalamnya, jika Anda menyukai ikon)
PatrickT
49

Apa yang berhasil untuk saya:

  1. jalankan spyder dari lingkungan (setelah sumber aktif)
  2. buka Alat -> preferensi -> python Interpreter dan pilih file python dari env yang ingin Anda tautkan ke spyder ex: / home / you / anaconda3 / envs / your_env / bin / python

Bekerja di ubuntu 16, spyder3, python3.6.

Boussad
sumber
Setelah mencoba semua sisa posting ini dan di tempat lain (mencoba dua hari!), Ini adalah satu-satunya solusi yang berfungsi untuk mengatur lingkungan yang tepat di dalam Spider ..
Antonio Canepa
Tidak perlu langkah (1), karena langkah (2) sudah mengarahkan penerjemah ke lingkungan.
Feras
3
@Feras Untuk pembaca selanjutnya: Saya juga berpikir langkah 1 adalah mubazir. Tetapi mengabaikannya menyebabkan semua jenis kesalahan gila (dan bahkan menyebabkan UI rusak dan Spyder menjadi tidak responsif).
cheekybanana
20

Untuk melakukannya tanpa menginstal ulang spyder di semua lingkungan, ikuti referensi resmi di sini .

Singkatnya (diuji dengan conda):

  • Spyder harus dipasang di lingkungan dasar

Dari prompt sistem:

  • Ciptakan lingkungan baru. Perhatikan bahwa tergantung pada cara Anda membuatnya (conda, virtualenv), folder lingkungan akan ditempatkan di tempat yang berbeda di sistem Anda)

  • Aktifkan lingkungan (mis. conda activate [yourEnvName])

  • Instal spyder-kernel di dalam lingkungan (misalnya, conda install spyder-kernels)

  • Temukan dan salin jalur untuk python yang dapat dieksekusi di dalam lingkungan. Menemukan jalur ini dapat dilakukan dengan menggunakan dari prompt perintah inipython -c "import sys; print(sys.executable)"

  • Nonaktifkan lingkungan (yaitu, kembali ke pangkalan conda deactivate)

  • jalankan spyder ( spyder3)

  • Terakhir di menu Alat spyder, buka Preferences> Python Interpreter> Gunakan interpreter berikut dan tempel jalur executable python lingkungan

  • Mulai ulang konsol ipython

PS: di spyder Anda harus melihat di bagian bawah sesuatu seperti inimasukkan deskripsi gambar di sini

Voila

Alexis
sumber
Inilah satu-satunya jawaban yang masuk akal.
sjsam
Perhatikan bahwa saat menggunakan virtualenv & spyder 4.1.3 tidak ada yang muncul di garis bawah yang mengonfirmasi (semuanya bekerja sesuai keinginan)
Alexis
Ini jawaban yang benar! Selain itu, penginstalan spyder dapat dilakukan di lingkungan virtual conda apa pun. Itu tidak perlu berada di lingkungan basis.
Sanchit
1
Anda benar @Sanchit, Anda dapat "pip / conda" menginstal spyder di setiap lingkungan kemudian dapat memanggilnya dari sana, tetapi jika Anda hanya ingin satu instal, inilah solusinya
Alexis
10

Jawaban di atas benar tetapi saya menelepon spyderdalam virtualenv saya akan tetap menggunakan my PATHuntuk mencari versi spyder di anaconda env default saya. Saya menemukan jawaban ini yang memberikan solusi berikut:

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

Saya memilih ini daripada memodifikasi PATHatau menambahkan tautan ke yang dapat dieksekusi pada prioritas yang lebih tinggi PATHkarena saya merasa ini cenderung tidak merusak program lain. Namun, saya menambahkan alias ke file yang dapat dieksekusi di ~/.bash_aliases.

Steven Kalt
sumber
8

Saya baru saja mengalami masalah yang sama saat mencoba menjalankan Spyder di Lingkungan Virtual.

Solusinya sederhana:

Aktifkan lingkungan virtual Anda.

Kemudian pip instal Spyder dan dependensinya (PyQt5) di lingkungan virtual Anda.

Kemudian luncurkan Spyder3 dari CLI lingkungan virtual Anda.

Ini berfungsi dengan baik untuk saya sekarang.

Pemrogram Yerusalem
sumber
1
Ini tidak berfungsi lagi dengan python2 di ubuntu 16. Ada ide untuk bekerja?
masad
Python 2 tidak digunakan lagi. Direkomendasikan dan disarankan untuk meningkatkan diri Anda sendiri untuk menggunakan Python 3.
Pemrogram Yerusalem
4

Di Windows:

Anda dapat membuat jalan pintas yang sedang dijalankan

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

Namun, jika Anda memulai spyder dari venv Anda di dalam shell Anaconda, saya yakin ini akan membuat pintasan ini untuk Anda (cukup cari "Spyder" di Windows).

smoothware
sumber
1

Saya mengikuti salah satu saran di atas dan memang berhasil. Singkatnya saat Anda mengunduh Anaconda di Ubuntu menggunakan saran yang diberikan di atas dapat membantu Anda untuk 'membuat' lingkungan. Default ketika Anda mengunduh Spyder dalam kasus saya adalah: (base) smith @ ubuntu ~ $ . Setelah Anda membuat lingkungan, yaitu fenics dan mengaktifkannya dengan $ conda aktifkan fenics , ubah prompt ke (fenics) smith @ ubuntu ~ $ . Kemudian Anda meluncurkan Spyder dari prompt ini, yaitu $ spyder dan sistem Anda membuka Spyder IDE, dan Anda dapat menulis kode fenics di atasnya. Ingat setiap kali Anda membuka terminal, sistem Anda membuka prompt default. Anda harus mengaktifkan lingkungan Anda di mana paket Anda berada dan prompt mengubahnya yaitu (fenics). Saya harap ini akan membantu. Terima kasih serta semua orang yang telah membantu. Komunitas ini hebat.

batman47
sumber