GNU/Linux >> Belajar Linux >  >> Linux

Pertanyaan virtualenv python

di Windows saya sudah menginstal python 3.7 dan saya masih tidak bisa mengaktifkan virtualenv dari Gitbash dengan ./Scripts/activate meskipun itu berfungsi dari Powershell setelah menjalankan Set-ExecutionPolicy Unrestricted di Powershell dan mengubah pengaturan menjadi "Yes To All".

Saya tidak suka Powershell dan saya suka menggunakan Gitbash, jadi untuk mengaktifkan virtualenv di Gitbash pertama arahkan ke folder proyek Anda, gunakan ls untuk membuat daftar isi folder dan pastikan Anda melihat "Skrip". Ubah direktori menjadi "Skrip" menggunakan cd Scripts , setelah Anda berada di jalur "Skrip" gunakan . activate untuk mengaktifkan virtualenv . Jangan lupa spasi setelah titik.


Ya pada dasarnya inilah yang virtualenv lakukan, dan inilah activate perintah untuk, dari doc di sini:

aktifkan skrip

Dalam virtualenv yang baru dibuat akan ada skrip bin/activate shell, atau file batch Scripts/activate.bat di Windows.

Ini akan mengubah $PATH Anda untuk menunjuk ke bin/direktori virtualenv. Tidak seperti workingenv, hanya ini fungsinya; itu kenyamanan. Tetapi jika Anda menggunakan path lengkap seperti /path/to/env/bin/python script.py Anda tidak perlu mengaktifkan lingkungan terlebih dahulu. Anda harus menggunakan sumber karena mengubah lingkungan di tempat. Setelah mengaktifkan lingkungan, Anda dapat menggunakan fungsi nonaktifkan untuk membatalkan perubahan.

Skrip aktivasi juga akan mengubah permintaan shell Anda untuk menunjukkan lingkungan mana yang sedang aktif.

jadi sebaiknya gunakan saja activate perintah yang akan melakukan semua itu untuk Anda:

> \path\to\env\bin\activate.bat

Biasanya virtualenv menciptakan lingkungan di direktori saat ini. Kecuali jika Anda bermaksud membuat lingkungan virtual di C:\Windows\system32 untuk beberapa alasan, saya akan menggunakan direktori yang berbeda untuk lingkungan.

Anda tidak perlu mengacaukan jalur:gunakan activate skrip (dalam <env>\Scripts ) untuk memastikan bahwa Python dapat dieksekusi dan jalur khusus untuk lingkungan. Setelah Anda melakukan ini, prompt perintah berubah untuk menunjukkan lingkungan. Anda kemudian dapat memanggil easy_install dan apa pun yang Anda instal dengan cara ini akan diinstal ke dalam lingkungan ini. Gunakan deactivate untuk mengatur semuanya kembali seperti sebelum aktivasi.

Contoh:

c:\Temp>virtualenv myenv
New python executable in myenv\Scripts\python.exe
Installing setuptools..................done.
c:\Temp>myenv\Scripts\activate
(myenv) C:\Temp>deactivate
C:\Temp>

Perhatikan bagaimana saya tidak perlu menentukan jalur untuk deactivate - activate apakah itu untuk Anda, sehingga ketika diaktifkan "Python" akan menjalankan Python di virtualenv, bukan Python sistem Anda. (Cobalah - lakukan import sys; sys.prefix dan itu harus mencetak root dari lingkungan Anda.)

Anda cukup mengaktifkan lingkungan baru untuk beralih antar lingkungan/proyek, tetapi Anda harus menentukan seluruh jalur untuk activate jadi ia tahu lingkungan mana yang harus diaktifkan. Anda tidak perlu mengutak-atik PATH atau PYTHONPATH secara eksplisit.

Jika Anda menggunakan Windows Powershell maka Anda dapat memanfaatkan pembungkusnya. Di Linux, virtualenvwrapper (tautan menunjuk ke port ini ke Powershell) membuat hidup dengan virtualenv bahkan lebih mudah.

Perbarui: Tepatnya tidak salah, tapi mungkin tidak sesuai dengan semangat virtualenv . Anda dapat mengambil taktik yang berbeda:misalnya, jika Anda menginstal Django dan apa pun yang Anda perlukan untuk situs Anda di virtualenv Anda, maka Anda dapat bekerja di direktori proyek Anda (tempat Anda mengembangkan situs Anda) dengan virtualenv diaktifkan. Karena diaktifkan, Python Anda akan menemukan Django dan apapun yang Anda instal dengan mudah ke dalam lingkungan virtual:dan karena Anda sedang bekerja di direktori proyek Anda, file proyek Anda juga akan terlihat oleh Python.

Pembaruan lebih lanjut: Anda harus dapat menggunakan pip , distribute bukannya setuptools , dan hanya python setup.py install dengan virtualenv . Pastikan Anda telah mengaktifkan lingkungan sebelum menginstal sesuatu ke dalamnya.


Linux
  1. Instalasi Python 3.3.2?

  2. Instal python-novaclient di Windows

  3. Siapkan Python di IIS 7.5

  1. Instal tkinter untuk Python

  2. OpenCV dan python/virtualenv?

  3. Apakah Python memiliki sinkronisasi?

  1. Bisakah kita menggunakan kode C dengan Python?

  2. Virtualenv menggunakan python yang salah, meskipun yang pertama di $PATH

  3. Tingkatkan Python dari 2.6 ke 2.7 di Centos 6.5