Virtualenv nasıl etkinleştirilir?


235

Arama yaptım ve başarılı olmadan çeşitli alternatifler denedim ve şimdi birkaç gün geçirdim - beni deli ediyor.

Python 2.5.2 ile Red Hat Linux üzerinde çalışıyor En son Virtualenv kullanmaya başladım, ancak etkinleştiremedim, önceki versiyona ihtiyaç duyduğunu düşündüren bir yer buldum, bu yüzden Python 2.6 ile çalışması gereken Virtualenv 1.6.4'ü kullandım.

Sanal ortamı kuruyor gibi görünüyor tamam

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

Çevre iyi görünüyor

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

Etkinleştirmeye çalışıyor

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

Kontrol edilen 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-

Sorun, bu yüzden değiştirdim

[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

activateTekrar dene

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

Hala neşe yok ...


6
"source ~ / virtual / bin / enable" komutunu denediniz mi?
mmbrian

4
Ortamınızın dizini ile yapın . bin/activateve iyi çalışması gerekir.
dansalmo

1
Sadece sourcekomutu kullanmanız gerektiğini düşünüyorum , yanisource bin/activate
Hack-R

1
Bu kadar ilk Virtualenv dizinden bunu yapmak zorunda düşünüyorum cd ~/.virtualenvs/*environmentname*sonrasource ~/.virtual/bin/activate
11m0

Yanıtlar:


311

Bir klasör oluşturup cdiçine girdikten sonra iş akışım:

$ virtualenv venv --distribute
New python executable in venv/bin/python
Installing distribute.........done.
Installing pip................done.
$ source venv/bin/activate
(venv)$ python

4
tamam, bunu sevinçsiz denedi [necrailk @ server6 ~ / virtual] $ cd [necrailk @ server6 ~] $ $ source sanal / bin / enable kaynak: Tanımsız değişken. [necrailk @ server6 ~] $ sh sanal / bin / etkinleştir [necrailk @ server6 ~] $
larry

8
Yazmayın $ii görünüyor da buradaki gibi karakteri,: [necrailk@server6 ~]$ $source. $bir komut istemini belirtmek için kullanılır.
Justin Garrick

3
Hala kötü yerleştirilmiş () hatası alıyorum ... ne yapmalı?

2
burada aynı hata :( user @ mintdesk ~ / python_v $ venv / bin / enable bash: venv / bin / enable: İzin reddedildi
Rui Lima

1
Her zaman 'kaynak' yazmanın bir alternatifi '.' $ . venv/bin/activate
Kullanmaktır

89

source bin/activateKaynağın yürütülebilir bir ad olduğu yerlerde yapmayı unuttunuz . Bana ilk birkaç kez de vurdu, kılavuzun "bunu ortam klasörünün kökünden yürüt" dediğini düşünmek kolay.

activateÜzerinden çalıştırılabilir yapmanıza gerek yok chmod.


4
OP yazdı . bin/activate. Not .eşanlamlı olan source.
Thomas

1
"kaynak yürütülebilir bir addır" ... hangi yürütülebilir dosya? cmd.exe? powershell.exe?
StingyJack

1
Bir ortamı cron'dan etkinleştirmeye çalışıyorum ve çalıştırılabilir olmadan çalışmaz (chmod 755).
Tahlor

70

Yapabilirsin

source ./python_env/bin/activate

veya sadece dizine gidin

cd /python_env/bin/

ve sonra

source ./activate

İyi şanslar.


27

Ortam yoluna Cd, bin klasörüne gidin. Bu noktada ls komutunu kullandığınızda "enable" dosyasını görmelisiniz.

şimdi yaz

source activate

23

Proje dizinine gidin. Benim durumumda microblogflask proje dizini ve microblogdizin altında appve venvklasörleri olmalıdır . sonra aşağıdaki komutu çalıştırın, bu bir Ubuntu benim için çalıştı.

source venv/bin/activate

resim açıklamasını buraya girin


17

Sorun şu ki /bin/.komut. Çok garip, o zamandan beri. her zaman içinde bulunduğu dizine bir bağlantı olmalıdır. (Dürüst olmak gerekirse, .garip bir takma ad veya işlev olmadığı sürece , bunun nasıl mümkün olduğunu bile göremiyorum.) Kabuğunuzun . yerleşiksource olmadığı biraz da olağandışı .

Hızlı bir çözüm, virtualenv'i farklı bir kabukta çalıştırmak olacaktır. (Bariz bir ikinci avantaj deactivate, sadece size sahip olmak yerine bu olabilir exit.)

/bin/bash --rcfile bin/activate

Kabuğunuz destekliyorsa , aynı şeyi yapması gereken , ancak var olmayan standart olmayan sourcekomutunuz da olabilir. (Tümü, ortamınızın neden garip olduğunu veya gelecekte tekrar acı çekmenize neden olacağını anlamaya çalışmalısınız.).

Bu arada, chmod +xbu dosyalara ihtiyacınız yoktu . Dosyaların yalnızca doğrudan yürütülmesini istiyorsanız çalıştırılabilir olması gerekir . Bu durumda ., onları başlatmaya çalışıyorsunuz , bu yüzden buna ihtiyaçları yok.


2
Ayrıca, kaynak yapmalısınız bin/activate, değil .bin/activate. .O zaman bile çalışabilir ...
krlmlr

@krlmlr Doğru, ben bir sonraki satırda beri, bir yazım hatası olduğunu kabul etmişti cdiçine s bin.
kojiro

1
hi [necrailk @ server6 ~ / virtual] $ kaynak kutusu / etkinleştirme Kötü yerleştirilmiş () 's. [necrailk @ server6 ~ / sanal] $
larry

2
korjiro - haklıydınız - ortamın neden garip olduğunu bulmam gerekiyordu - standart olmayan bir bash uygulaması olduğu ortaya çıktı - standart bash'a geçiş tüm sorunları çözdü
larry

@larry işe yaradığı için memnunum: Cevabı doğru olarak işaretlemeyi unutmayın.
kojiro

17

$ mkdir <YOURPROJECT> Yeni bir proje oluştur

$ cd <YOURPROJECT> Dizini bu projeyle değiştir

$ virtualenv <NEWVIRTUALENV> Yeni sanal ağ oluşturma

$ source <NEWVIRTUALENV>/bin/activate Bu yeni sanal reklamı etkinleştirme



9

Windows için:

Sanal env'yi şu şekilde oluşturmak için: virtualenv envName –python = python.exe (ortam değişkeni oluşturulmazsa)

Sanal ortamı etkinleştirmek için:> \ path \ to \ envName \ Scripts \ enable

Sanal ortamı devre dışı bırakmak için:> \ path \ to \ env \ Scripts \ deactivate

Yeni python sürümü üzerinde çalışıyor.


Buna açıklayıcı ayrıntılar eklemek için: ile sanal ortamınızı oluşturduktan virtualenv venv sonra, yalnızca dosyalara bakmak için oluşturulan Komut Dosyaları klasörüne elle gidin, bazı etkinleştirme dosyaları görürsünüz. İşte bu yüzden Windows için etkinleştiriyoruz. Bu nedenle cdKomut Dosyaları klasörünüze girin ve . activatekomut satırınıza yazın (noktadan sonra boşluk bıraktığınızdan emin olun). Komut satırındaki yolunuzun, yolunuzun başına (venv) ekleyerek değiştiğini göreceksiniz. Bu, şimdi etkinleştirildiği anlamına gelir.
Azurespot

6
source virtualen_name/bin/activate

kod


4
Bu cevap zaten mevcut yanıtlarda (daha fazla bilgi ile) verilmiştir. Daha eski soruları cevaplarla yanıtlarken, lütfen yanıtınızın mevcut cevaplara kıyasla yeni bir şey kattığından veya daha yüksek kalitede olduğundan emin olun.
Mark Rotteveel

4

Ben de virtualenvwrapper tavsiye ederim. Benim için harikalar yaratıyor ve aktivasyonla ilgili her zaman sorun yaşıyorum. http://virtualenvwrapper.readthedocs.org/en/latest/


merhaba kaynak ve. (nokta) değiştirilebilir necrailk @ server6 ~ / virtual gibi görünüyor $ $ kaynak kutusu / enable Badly place () 's. bu işe yaramıyor gibi görünüyor
larry

bin depo iznim: drwxrwxr-x 2 erika erika 4096 2013-01-24 14:37 bin /
Erika

belgelere göre virtuallenvwrapper şu anda python2.5 için test edilmedi, bu yüzden olası sorunlarıma ekleyerek rahat değilim
larry

Sadece bir toplama. benim ev sahibi standart olmayan bir kabuk kullanarak keşfetti. Normal Bash olarak değiştirildiğinde her şey olması gerektiği gibi çalıştı. şimdi bilgi isteminde sanal env görüntüler ve tüm yollar buna göre değiştirilir. Yardım ve önerileriniz için çok teşekkürler.
larry

3

Kendi Python sanal ortamınızı oluşturun <Your Env _name >:. Ben verdim VE.

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

Yeni sanal ortamınızı etkinleştirmek için çalıştırın ( burada olmadığını unutmayın./ ):

. VE/bin/activate

Örnek çıktı ( not istemi değişti ):

(VE)c34299@a200dblr$

Sanal ortamınız ayarlandıktan sonra, depoyu kaldırabilirsiniz Virtualenv.


2
Virtualenv'in ana dalını kontrol etmemeli ve gerçekten çalışmasını beklememelisiniz. Bunun yerine etiketli bir sürümü kullanın.
Jon Bringhurst

3

Mac'te kabuğu BASH olarak değiştirin (sanal env'nin yalnızca bash kabuğunda çalıştığını unutmayın)

[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, işe yaradı. Bilgi istemi değişti.

Ubuntu'da:

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

(toolsenv) user@local_host~/tools$ 

Not: bilgi istemi değişti


2

Ben kaynak / bin / etkinleştirmek çalışan sorun vardı sonra ben bash yerine benim terminal kabuğu olarak tcsh kullandığımı fark ettim. geçiş yaptığımda venv'i etkinleştirebildim.


1

Windows 10

Windows'ta bu dizinler oluşturulur:

Windows 10 Sanal Ortam dizinleri

Windows 10'da Sanal Ortamı etkinleştirmek için.

down\scripts\activate

\ scripts dizini etkinleştirme dosyası içerir.

Linux Ubuntu

Ubuntu'da şu dizinler oluşturulur:

Linux Ubuntu Sanal Ortam dizinleri

Linux Ubuntu'da Sanal Ortamı etkinleştirmek için.

source ./bin/activate

/ bin dizini etkinleştirme dosyasını içerir.


Sanal Ortam Windows'tan Linux'a kopyalandı Ubuntu tersi

Sanal ortam klasörü Windows'tan Linux Ubuntu'ya kopyalanmışsa, dizinlere göre:

source ./down/Scripts/activate

1

bu kodu çalıştır, bir windows makinesinde etkinleştirilir
source venv/Scripts/activate

resim açıklamasını buraya girin


0

Cevabımı buraya göndermek için muhtemelen biraz geç ama yine de göndereceğim, yine de birine fayda sağlayabilir,

Aynı problemle karşılaşmıştım,

Ana nedeni ben bir "kök" kullanıcı olarak virtualenv yarattı Ama daha sonra başka bir kullanıcı kullanarak etkinleştirmeye çalışıyordu.

chmod dosyanın sahibi olmadığınız için çalışmaz, bu nedenle alternatif chown kullanmaktır (sahipliği değiştirmek için)

Örneğin:

Virtualenv'inizi / home / abc / ENV'de oluşturduysanız

Sonra CD / home / abc'ye

ve şu komutu çalıştırın: chown -Rv [kullanıcı-kime-istediğiniz-değiştirmek-sahiplik] [sahipliğinin değiştirilmesi gereken klasör / dosya adı]

Bu örnekte komutlar şöyle olacaktır: chown -Rv abc ENV

Sahiplik başarıyla değiştirildikten sonra, /ENV/bin/./activate kaynağını çalıştırabilirsiniz ve virtualenv'i doğru şekilde etkinleştirebilmeniz gerekir.


0

1- powershell'i açın ve uygulama klasörünüze gidin 2- virtualenv klasörünüzü girin örn. Cd. \ Venv \ Scripts \ 3- türe göre aktif virtualenv. \ Activ

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.