Bagaimana cara mengaktifkan virtualenv?

235

Saya telah melalui pencarian dan mencoba berbagai alternatif tanpa hasil dan menghabiskan beberapa hari sekarang - membuat saya marah.

Berjalan di Red Hat Linux dengan Python 2.5.2 Mulai menggunakan Virtualenv terbaru tetapi tidak bisa mengaktifkannya, saya menemukan suatu tempat yang menyarankan versi yang lebih awal diperlukan sehingga saya telah menggunakan Virtualenv 1.6.4 karena itu harus bekerja dengan Python 2.6.

Sepertinya menginstal lingkungan virtual ok

[necrailk@server6 ~]$ python virtualenv-1.6.4/virtualenv.py virtual
New python executable in virtual/bin/python
Installing setuptools............done.
Installing pip...............done.

Lingkungan terlihat oke

[necrailk@server6 ~]$ cd virtual
[necrailk@server6 ~/virtual]$ dir
bin  include  lib

Mencoba mengaktifkan

[necrailk@server6 ~/virtual]$ . bin/activate
/bin/.: Permission denied.

Memeriksa chmod

[necrailk@server6 ~/virtual]$ cd bin
[necrailk@server6 bin]$ ls -l
total 3160
-rw-r--r--    1 necrailk biz12        2130 Jan 30 11:38 activate
-rw-r--r--    1 necrailk biz12        1050 Jan 30 11:38 activate.csh
-rw-r--r--    1 necrailk biz12        2869 Jan 30 11:38 activate.fish
-rw-r--r-

Masalah, jadi saya mengubahnya

[necrailk@server6 bin]$ ls -l
total 3160
-rwxr--r--    1 necrailk biz12        2130 Jan 30 11:38 activate
-rw-r--r--    1 necrailk biz12        1050 Jan 30 11:38 activate.csh
-rw-r--r--    1 necrailk biz12        2869 Jan 30 11:38 activate.fish
-rw-r--r--    1 necrailk biz12        1005 Jan 30 11:38 activate_this.py
-rwxr-xr-x    1 necrailk biz

Coba activatelagi

[necrailk@server6 ~/virtual]$ . bin/activate
/bin/.: Permission denied.

Masih tidak ada sukacita ...

larry
sumber
6
sudahkah Anda mencoba "sumber ~ / virtual / bin / aktifkan"?
mmbrian
4
Dari dengan direktori lingkungan Anda lakukan . bin/activatedan itu akan berfungsi dengan baik.
dansalmo
1
Saya pikir Anda hanya perlu menggunakan sourceperintah, yaitusource bin/activate
Hack-R
1
Saya pikir Anda harus melakukan ini dari direktori virtualenv jadi pertama cd ~/.virtualenvs/*environmentname*kemudiansource ~/.virtual/bin/activate
11m0

Jawaban:

311

Ini adalah alur kerja saya setelah membuat folder dan cdmemasukkannya:

$ virtualenv venv --distribute
New python executable in venv/bin/python
Installing distribute.........done.
Installing pip................done.
$ source venv/bin/activate
(venv)$ python
topherjaynes
sumber
4
ok, coba ini tanpa sukacita [necrailk @ server6 ~ / virtual] $ cd [necrailk @ server6 ~] $ $ sumber virtual / bin / aktifkan sumber: variabel tidak terdefinisi. [necrailk @ server6 ~] $ sh virtual / bin / aktifkan [necrailk @ server6 ~] $
larry
8
Jangan ketik $karakter, yang terlihat ii menyukai Anda lakukan di sini: [necrailk@server6 ~]$ $source. $digunakan untuk menunjukkan prompt perintah.
Justin Garrick
3
Masih mendapatkan kesalahan () yang salah ... apa yang harus dilakukan?
2
kesalahan yang sama di sini :( user @ mintdesk ~ / python_v $ venv / bin / aktifkan bash: venv / bin / aktifkan: Izin ditolak
Rui Lima
1
Alternatif untuk mengetik 'sumber' sepanjang waktu adalah dengan menggunakan '.':$ . venv/bin/activate
karwag
89

Anda lupa melakukan di source bin/activatemana sumber adalah nama yang dapat dieksekusi. Memukul saya beberapa kali juga, mudah untuk berpikir bahwa manual mengatakan "jalankan ini dari root folder lingkungan".

Tidak perlu membuat activateexecutable via chmod.

kqw
sumber
4
OP mengetik . bin/activate. Perhatikan ., yang merupakan sinonim untuk source.
Thomas
1
"source is an executable name" ... yang dapat dieksekusi? cmd.exe? powershell.exe?
StingyJack
1
Saya mencoba untuk mengaktifkan lingkungan dari cron, dan itu tidak akan berfungsi tanpa dapat dieksekusi (chmod 755).
Tahlor
70

Anda dapat melakukan

source ./python_env/bin/activate

atau langsung saja ke direktori

cd /python_env/bin/

lalu

source ./activate

Semoga berhasil.

cquptzzq
sumber
27

Cd ke jalur lingkungan, buka folder bin. Pada titik ini ketika Anda menggunakan perintah ls, Anda akan melihat file "aktifkan".

sekarang ketik

source activate
Reihan_amn
sumber
23

Pergi ke direktori proyek. Dalam kasus saya microblogadalah direktori proyek labu dan di bawah microblogdirektori harus ada appdan venvfolder. kemudian jalankan perintah di bawah ini, Ini adalah salah satu yang bekerja untuk saya di Ubuntu.

source venv/bin/activate

masukkan deskripsi gambar di sini

GNK
sumber
17

Masalahnya ada /bin/.perintah. Itu sangat aneh, sejak itu. harus selalu berupa tautan ke direktori tempat masuknya (Jujur saja, kecuali .ada alias atau fungsi yang aneh, saya bahkan tidak melihat bagaimana itu mungkin.) Ini juga sedikit tidak biasa bahwa shell Anda tidak memiliki . builtin untuksource .

Satu perbaikan cepat adalah menjalankan virtualenv di shell yang berbeda. (Keuntungan kedua yang jelas adalah bahwa alih-alih harus deactivateAnda bisa saja exit.)

/bin/bash --rcfile bin/activate

Jika shell Anda mendukungnya, Anda mungkin juga memiliki sourceperintah tidak standar , yang seharusnya melakukan hal yang sama ., tetapi mungkin tidak ada. (Semua mengatakan, Anda harus mencoba mencari tahu mengapa lingkungan Anda aneh atau itu akan menyebabkan Anda sakit lagi di masa depan.)

Omong-omong, Anda tidak perlu chmod +xfile-file itu. File hanya perlu dieksekusi jika Anda ingin menjalankannya secara langsung . Dalam hal ini Anda mencoba meluncurkannya dari ., jadi mereka tidak membutuhkannya.

kojiro
sumber
2
Juga, Anda harus sumber bin/activate, bukan.bin/activate . Bahkan mungkin bekerja dengan .itu ...
krlmlr
@ krlmlr Benar, saya berasumsi itu salah ketik, karena di baris berikutnya dia cdmasuk bin.
kojiro
1
hai [necrailk @ server6 ~ / virtual] $ source bin / aktifkan badly ditempatkan ()'s. [necrailk @ server6 ~ / virtual] $
larry
2
korjiro - Anda benar - saya memang perlu mencari tahu mengapa lingkungan aneh - ternyata implementasi bash non-standar - beralih ke bash standar menyelesaikan semua masalah
larry
@larry senang itu berhasil: Jangan lupa untuk menandai jawabannya sebagai yang benar.
kojiro
17

$ mkdir <YOURPROJECT> Buat proyek baru

$ cd <YOURPROJECT> Ubah direktori ke proyek itu

$ virtualenv <NEWVIRTUALENV> Membuat virtualenv baru

$ source <NEWVIRTUALENV>/bin/activate Mengaktifkan virtualenv baru itu

karat
sumber
12

dari pada ./activate

menggunakan source activate

Lihat tangkapan layar ini

Joy Mukherjee
sumber
9

Untuk Windows Anda dapat melakukan sebagai:

UNTUK membuat virtual env sebagai: virtualenv envName –python = python.exe (jika tidak membuat variabel lingkungan)

Untuk mengaktifkan env virtual:> \ path \ to \ envName \ Scripts \ aktifkan

Untuk menonaktifkan env virtual:> \ path \ to \ env \ Scripts \ nonaktifkan

Ini berfungsi dengan baik pada versi python baru.

susan097
sumber
Untuk menambahkan detail klarifikasi ke ini: setelah Anda membuat lingkungan virtual Anda virtualenv venv , kemudian secara manual masuk ke folder Script yang dibuat hanya untuk melihat file, Anda akan melihat beberapa file yang diaktifkan. Jadi di situlah kita mengaktifkannya untuk Windows. Jadi cdke dalam folder Script Anda dan ketik . activatebaris perintah Anda (pastikan untuk memasukkan spasi setelah periode). Anda akan melihat jalur Anda di baris perintah berubah, dengan menambahkan (venv) ke awal jalur Anda. Ini berarti sekarang diaktifkan.
Azurespot
6
source virtualen_name/bin/activate

kode

Harish Kumawat
sumber
4
Jawaban ini sudah disediakan (dengan informasi lebih lanjut) dalam jawaban yang ada. Saat menjawab pertanyaan yang lebih lama dengan jawaban, pastikan jawaban Anda menyumbangkan sesuatu yang baru atau berkualitas lebih tinggi dibandingkan dengan jawaban yang ada.
Mark Rotteveel
4

Saya akan merekomendasikan virtualenvwrapper juga. Ini bekerja dengan baik bagi saya dan bagaimana saya selalu memiliki masalah dengan mengaktifkan. http://virtualenvwrapper.readthedocs.org/en/latest/

Erika
sumber
hai sumber dan. (titik) tampaknya necrailk @ server6 ~ / virtual] interchangeable bin sumber / aktifkan Badly ditempatkan (). ini sepertinya tidak berhasil
larry
izin bin saya: drwxrwxr-x 2 erika erika 4096 2013-01-24 14:37 bin /
Erika
menurut virtuallenvwrapper docs saat ini tidak diuji untuk python2.5 jadi tidak nyaman menambah kemungkinan masalah saya- tapi terima kasih
larry
Hanya pengumpulan. menemukan host saya menggunakan shell non standar. Ketika diubah ke Bash normal semuanya berfungsi sebagaimana mestinya. sekarang menampilkan env virtual di prompt dan semua jalur dimodifikasi sesuai. Terima kasih banyak atas bantuan dan sarannya.
larry
3

Buat lingkungan virtual Python Anda sendiri yang disebut <Your Env _name >:. Saya telah memberikannya VE.

git clone https://github.com/pypa/virtualenv.git
python virtualenv.py VE

Untuk mengaktifkan lingkungan virtual baru Anda, jalankan ( perhatikan tidak ada di ./sini ):

. VE/bin/activate

Output sampel ( catatan cepat berubah ):

(VE)c34299@a200dblr$

Setelah lingkungan virtual Anda diatur, Anda dapat menghapus Virtualenvrepo.

Manas
sumber
2
Anda seharusnya tidak memeriksa cabang master virtualenv dan mengharapkannya benar-benar berfungsi. Gunakan versi yang ditandai.
Jon Bringhurst
3

Di Mac, ubah shell menjadi BASH (perhatikan bahwa virtual env hanya berfungsi di bash shell)

[user@host tools]$. venv/bin/activate 

.: Command not found.

[user@host tools]$source venv/bin/activate

Badly placed ()'s.

[user@host tools]$bash

bash-3.2$ source venv/bin/activate

(venv) bash-3.2$ 

Bingo, itu berhasil. Lihat prompt berubah.

Di Ubuntu:

user@local_host:~/tools$ source toolsenv/bin/activate

(toolsenv) user@local_host~/tools$ 

Catatan: prompt berubah

sunil_kumar_sahu
sumber
2

Saya mengalami kesulitan menjalankan source / bin / aktifkan kemudian saya menyadari bahwa saya menggunakan tcsh sebagai shell terminal daripada bash. setelah saya beralih saya dapat mengaktifkan venv.

Jason
sumber
1

Windows 10

Di Windows direktori ini dibuat:

Direktori Windows 10 Virtual Environment

Untuk mengaktifkan Lingkungan Virtual di Windows 10.

down\scripts\activate

Direktori \ scripts berisi file aktivasi.

Linux Ubuntu

Di Ubuntu direktori ini dibuat:

Direktori Lingkungan Virtual Ubuntu Linux

Untuk mengaktifkan Lingkungan Virtual di Linux Ubuntu.

source ./bin/activate

direktori / bin berisi file aktifkan.


Lingkungan Virtual disalin dari Windows ke Linux Ubuntu dan sebaliknya

Jika folder lingkungan Virtual disalin dari Windows ke Linux Ubuntu maka sesuai dengan direktori:

source ./down/Scripts/activate
Muhammad Faizan Fareed
sumber
1

jalankan kode ini maka akan diaktifkan jika Anda menggunakan mesin windows
source venv/Scripts/activate

masukkan deskripsi gambar di sini

Jeffery White
sumber
0

Mungkin sedikit terlambat untuk mengirim jawaban saya di sini tapi saya tetap akan memposting, mungkin bermanfaat bagi seseorang,

Saya telah menghadapi masalah yang sama,

Alasan utamanya adalah saya membuat virtualenv sebagai pengguna "root". Tetapi kemudian saya mencoba mengaktifkannya menggunakan pengguna lain.

chmod tidak akan berfungsi karena Anda bukan pemilik file, maka alternatifnya adalah menggunakan chown (untuk mengubah kepemilikan)

Untuk misalnya:

Jika virtualenv Anda dibuat di / home / abc / ENV

Kemudian CD ke / home / abc

dan jalankan perintah: chown -Rv [pengguna-kepada-siapa-yang Anda inginkan-ubah-kepemilikan] [folder / nama file yang kepemilikannya perlu diubah]

Dalam contoh ini perintahnya adalah: chown -Rv abc ENV

Setelah kepemilikan berhasil diubah, Anda dapat menjalankan source /ENV/bin/./activate dan Anda harus dapat mengaktifkan virtualenv dengan benar.

Lokendra
sumber
0

1- buka PowerShell dan arahkan ke folder aplikasi Anda 2- masukkan folder virtualenv Anda misalnya: cd. \ Venv \ Scripts \ 3- virtualenv aktif berdasarkan jenis. \ Aktifkan

aly
sumber