Saya telah menyiapkan PyCharm, membuat virtualenv saya (baik melalui perintah env virtual, atau langsung di PyCharm) dan mengaktifkan lingkungan itu sebagai Interpreter saya. Semuanya bekerja dengan baik.
Namun, jika saya membuka terminal menggunakan "Tools, Open Terminal", prompt shell yang diberikan tidak menggunakan virtual env; Saya masih harus menggunakan source ~/envs/someenv/bin/activate
dalam Terminal itu untuk mengaktifkannya.
Metode lainnya adalah dengan mengaktifkan lingkungan dalam shell, dan menjalankan PyCharm dari lingkungan tersebut. Ini "bisa diterapkan" tapi cukup jelek, dan berarti saya memiliki masalah besar jika saya mengganti lingkungan atau proyek dari PyCharm: Saya sekarang menggunakan lingkungan yang benar-benar salah.
Adakah cara lain yang lebih mudah untuk membuat "Alat, Buka Terminal" secara otomatis mengaktifkan lingkungan virtual?
~/pycharmenv/bin/terminalactivate
terdengar seperti pilihan yang bagus..pycharmrc
di folder rumah proyek, sehingga saya dapat memiliki file yang berbeda untuk setiap proyek. Dalam proyek yang dikonfigurasi dengan benar, tidak perlu memberikan jalur absolut ke.pycharmrc
file.Memperbarui:
Preferensi di Pengaturan (Preferensi) | Alat | Terminal bersifat global.
Jika Anda menggunakan venv untuk setiap proyek, ingatlah untuk menggunakan variabel jalur saat ini dan nama venv default:
Untuk pengguna Windows: saat menggunakan PyCharm dengan lingkungan virtual, Anda dapat menggunakan
/K
parameter tocmd.exe
untuk menyetel lingkungan virtual secara otomatis.PyCharm 3 atau 4:
Settings
,Terminal
,Default shell
dan add/K <path-to-your-activate.bat>
.PyCharm 5:
Settings
,Tools
,Terminal
, dan menambahkan/K <path-to-your-activate.bat>
untukShell path
.PyCharm 2016,1 atau 2016,2:
Settings
,Tools
,Terminal
, dan menambahkan""/K <path-to-your-activate.bat>""
keShell path
dan menambahkan (keberatan tanda kutip). Tambahkan juga tanda kutip di sekitar cmd.exe, menghasilkan:"cmd.exe" /k ""C:\mypath\my-venv\Scripts\activate.bat""
sumber
%CD%
adalah direktori kerja saat ini, lihat perintah shell Windows untuk mendapatkan path lengkap ke direktori saat ini?Untuk pengguna Windows saat menggunakan PyCharm dan lingkungan virtual di Windows, Anda dapat menggunakan parameter / k ke cmd.exe untuk menyetel lingkungan virtual secara otomatis.
Buka Pengaturan, Terminal, Shell default dan tambahkan
/K <path-to-your-activate.bat>
.Saya tidak memiliki reputasi untuk mengomentari tanggapan sebelumnya, jadi posting versi yang dikoreksi ini. Ini benar-benar menghemat BANYAK waktu.
Memperbarui:
Catatan: Pycharm sekarang mendukung lingkungan virtual secara langsung dan tampaknya berfungsi dengan baik untuk saya - jadi solusi saya tidak diperlukan lagi.
sumber
Berdasarkan jawaban dari Peter dan eksperimen, saya telah menemukan "solusi umum" yang bagus, yang memecahkan hal berikut:
Letakkan skrip ini ke direktori bin di suatu tempat. Misalnya ~ / bin / pycharmactivate
Kemudian setel jalur Shell PyCharm ke:
sumber
if [ -r "/etc/profile" ] ; then . /etc/profile ; fi if [ -r "~/.bash_profile" ] ; then . ~/.bash_profile elif [ -r "~/.bash_login" ] ; then . ~/.bash_login elif [ -r "~/.profile" ] ; then . ~/.profile fi source ~/learnp/project1/venv/bin/activate
PyCharm 4 sekarang memiliki virtualenv yang terintegrasi dalam IDE. Saat memilih juru bahasa proyek, Anda dapat membuat, menambah, atau memilih virtualenv. Mereka telah menambahkan "Konsol Python" yang berjalan di penafsir proyek yang dikonfigurasi.
Info selengkapnya di sini.
sumber
source /path/to/venv/bin/activate
manual di terminal.Terima kasih Chris, skrip Anda berfungsi untuk beberapa proyek tetapi tidak semuanya di mesin saya. Ini adalah skrip yang saya tulis dan saya harap ada yang menganggapnya berguna.
sumber
source /etc/profile
di awal file ~ / .pycharmrc (di Mac Yosemite) 2) Di Pycharm edit Preferensi> Alat> Terminal> Jalur shell ke "/ bin / bash --rcfile ~ / .pycharmrc"Saya telah melihat semua jawaban di atas tetapi tidak ada yang cukup elegan untuk saya. Di Pycharm 2017.1.3 (di komputer saya), cara termudah adalah membuka
Settings->Tools->Terminal
dan memeriksaShell integration
sertaActivate virtualenv
opsi.sumber
Jika Anda menggunakan versi windows, caranya cukup mudah. Jika Anda sudah memiliki lingkungan virtual cukup arahkan ke foldernya, cari
activate.bat
di dalamScripts
folder. salin jalur lengkapnya dan tempel di terminal pycharm lalu tekanEnter
dan selesai!Jika Anda perlu membuat lingkungan virtual baru:
Buka file> pengaturan lalu cari
project interpreter
, buka, klik tombol roda gigi dan buat lingkungan di mana pun Anda inginkan, lalu ikuti paragraf pertama.sumber
activate.bat
untuk masing-masing?activate.bat
file terpisah . jika Anda menyukai jawabannya, jangan ragu untuk memberiScripts
folder. Juga Pycharm mengeluh bahwaactivate.bat
bukan SDK python yang validactivate
file batch di dalamnya. atau jika memungkinkan, lakukan saja dengan menciptakan lingkungan baru.Di Mac itu PyCharm => Preferensi ... => Alat => Terminal => Aktifkan virtualenv , yang harus diaktifkan secara default.
sumber
Saya baru saja menambahkan skrip bernama pycharmactivate ke direktori home saya. Tetapkan nilai File PyCharm (4.0.1)> Pengaturan> Alat> Terminal> Jalur shell ke / bin / bash --rcfile ~ / pycharmactivate. Mungkin bukan solusi terbaik jika Anda memiliki proyek dan direktori / nama virtualenv yang berbeda, tetapi ini berfungsi untuk saya. Skrip ini berisi 3 baris berikut dan mengasumsikan virtualenv Anda memiliki nama yang sama dengan direktori proyek Anda.
sumber
Menindaklanjuti jawaban Peter, berikut file versi Mac
.pycharmrc
:Induk ayam
sumber
Saya memiliki solusi yang berfungsi pada mesin Windows 7 saya.
Saya percaya terminal PyCharm adalah hasil dari menjalankannya
cmd.exe
, yang akan memuatPATH
variabel Windows , dan menggunakan versi Python yang ditemukan pertama kali di dalamnyaPATH
. Untuk mengedit variabel ini, klik kanan My Computer -> Properties -> Advanced System Settings -> tab Advanced -> Environment Variables ... tombol. Di bagian Variabel sistem , pilih dan editPATH
variabel.Berikut adalah bagian yang relevan dari saya
PATH
sebelum mengedit:... dan setelah mengedit
PATH
(sekarang hanya 3 baris):Untuk mengujinya, buka terminal windows baru ( Start -> ketik
cmd
dan tekan Enter) dan lihat apakah itu menggunakan lingkungan virtual Anda. Jika berhasil, mulai ulang PyCharm lalu uji di terminal PyCharm.sumber
inilah yang saya lakukan: buat file activ_env.bat (windows, mungkin .sh di linux) di kode sumber folde:
dan file lain deactivate_env.bat:
setiap membuka jendela terminal, cukup jalankan file bat untuk mengaktifkan / menonaktifkan virtualenv, Anda akan tetap berada di jalur kode sumber, tidak perlu mengubah jalur ke dan kembali.
sumber
Jika Pycharm 2016.1.4v Anda dan lebih tinggi, Anda harus menggunakan
"default path" /K "<path-to-your-activate.bat>"
kutipan jangan lupasumber
Jika Anda telah memindahkan proyek Anda ke direktori lain, Anda dapat mengatur jalur baru melalui dialog Pengaturan. Dan kemudian Anda perlu mengatur Penerjemah Proyek ini di dialog Edit Konfigurasi.
sumber
Alternatif lain adalah menggunakan virtualenvwrapper untuk mengelola lingkungan virtual Anda. Tampaknya setelah skrip virtualenvwrapper diaktifkan , pycharm dapat menggunakannya dan kemudian
workon
perintah sederhana akan tersedia dari konsol pycharm dan memberi Anda lingkungan virtual yang tersedia:sumber
Metode ini harus bekerja dengan lingkungan virtual arbitrer per proyek dan tidak membuat asumsi di lingkungan Anda karena menggunakan kait yang Anda buat.
Anda menulis:
Mengingat bahwa PyCharm terbaru (Komunitas 2016.1) tidak mengizinkan pengaturan Terminal per proyek dimulai dengan skrip yang memanggil hook khusus proyek. Ini milik saya
~/.pycharmrc
:Jika Anda menggunakan sesuatu selain Bash, panggil
.bash_profile
padanan Anda sendiri jika Anda mau.Sekarang atur PyCharm Anda "Tools -> Terminal -> Shell Path" untuk menjalankan skrip ini, misalnya:
/bin/bash --rcfile ~/.pycharmrc
Terakhir, untuk setiap proyek PyCharm Anda memerlukan lingkungan virtual tertentu yang diaktifkan, buat file dalam root proyek PyCharm
.pycharm/term-activate
. Ini adalah hook Anda dan itu hanya akan menentukan nama lingkungan virtual yang diinginkan untuk proyek PyCharm Anda:Anda tentu saja dapat memperluas kaitan Anda dengan apa pun yang menurut Anda berguna di lingkungan terminal proyek PyCharm khusus Anda.
sumber
Untuk lingkungan virtual conda pada Windows, pastikan file batch Anda TIDAK dinamai
activate.bat
karena ini akan menyebabkan konflik denganactivate
perintah conda , yang mengakibatkan pemanggilan file batch secara berulang.Apa yang berhasil untuk saya adalah jalur Shell berikut:
Dan di file enable-env.bat:
sumber
Saya menginginkan lingkungan virtual terpisah untuk setiap proyek, dan tidak terlalu peduli untuk memiliki file tambahan untuk memfasilitasi ini. Solusi yang hanya perlu Anda lakukan sekali dan berfungsi untuk semua proyek kemudian menambahkan yang berikut ini ke
.bashrc
atau.bash_profile
:Ini memeriksa apakah ada lingkungan virtual tempat terminal dibuka, dan jika demikian mengaktifkannya (dan tentu saja jalur relatif lainnya dapat digunakan). Pengaturan terminal PyCharm dapat dibiarkan sebagai default.
sumber
PyCharm 4.5.4
Saya tidak tahu mengapa, tapi itu tidak berhasil untuk saya. PyCharm mencetak kesalahan.
cmd.exe /K "<path-to-your-activate.bat>"
Ini berfungsi, tetapi itu membuat virtualenv yang sama untuk setiap proyek, dan bahkan jika ini tidak perlu.Ini tanda terima bekerja! Tetapi string itu
/env_yourenvlocate/scripts/activate.bat
harus mengandung tanda kutip, seperti ini"Full_path_to_your_env_locate\scripts\activate.bat"
!Menonaktifkan virtualenv sangat mudah - ketik terminal 'nonaktifkan'
sumber
Solusi untuk WSL (Ubuntu di Windows)
Jika Anda menggunakan WSL (Ubuntu pada Windows), Anda juga dapat membuka bash sebagai terminal di pycharm dan mengaktifkan virtualenv linux.
Gunakan
.pycharmrc
file seperti yang dijelaskan dalam jawaban Peter Gibson; Tambahkan.pycharmrc
file ke direktori home Anda dengan konten berikut:Di File Pycharm > Pengaturan> Alat> Terminal tambahkan 'jalur Shell' berikut:
Proyek virtualenv tertentu
Path ke virtualenv
.pycharmrc
Anda tidak harus mutlak. Anda dapat menyetel virtualenv khusus proyek dengan menyetel jalur relatif dari direktori proyek Anda. Virtualenv saya selalu terletak di folder 'venv' di bawah direktori proyek saya, jadi.pycharmrc
file saya terlihat seperti ini:BONUS: secara otomatis membuka terowongan ssh untuk menghubungkan virtualenv sebagai penerjemah proyek
Tambahkan berikut ini ke
.pycharmrc
file Anda :Ini memeriksa apakah terowongan ssh sudah dibuka, dan membuka satu jika tidak. Di File -> Settings -> Project -> Project Interpreter di Pycharm, tambahkan interpreter jarak jauh baru dengan konfigurasi berikut:
Sekarang ketika Anda membuka proyek Anda, bash Anda secara otomatis dimulai di virtualenv Anda, membuka terowongan ssh, dan pycharm menghubungkan virtualenv sebagai juru bahasa jarak jauh.
peringatan: pembaruan terakhir di Windows secara otomatis memulai layanan SshBroker dan SshProxy saat startup. Ini memblokir terowongan ssh dari linux ke windows. Anda dapat menghentikan layanan ini di Pengelola Tugas -> Layanan, setelah itu semuanya akan berfungsi kembali.
sumber
Satu opsi yang Anda miliki ketika Anda memasuki terminal> Jalankan> Debug> Edit Konfigurasi
pilih lingkungan yang sesuai. Juga ketika Anda membuat proyek baru - ia meminta untuk mengkonfigurasi lokasi ini.
sumber