Kapsamlı yeni başlayanların sanal öğretici eğitimi? [kapalı]


356

Son zamanlarda virtualenv hakkındaki vızıltıları duydum ve ilgileniyorum. Ama duyduğum tek şey övgü saçıyor ve ne olduğu ya da nasıl kullanılacağı konusunda net bir anlayışa sahip değiller.

(İdeal olarak) beni Python olmadan Windows veya Linux'tan alabilir ve her adımı (belirli bir sırayla) açıklayabilecek bir takip öğretici arıyorum:

  • kullanmaya başlamak için ne yapmalıyım virtualenv
  • kullanmanın belirli nedenleri virtualenviyi bir fikir
  • kullanabileceğim / kullanamayacağım durumlar virtualenv
  • kullanmam gereken / kullanmamam gereken durumlar virtualenv

Ve gerekir + kutu çeşitliliği birkaç örnek durumları (kapsamlı) adım.

Öyleyse bu konuları ele almak için bazı iyi öğreticiler nelerdir? Ya da zamanınız ve ilginiz varsa, belki de bu soruların birkaçını burada cevaplayabilirsiniz. Ya cevabınızda ya da cevap veren öğreticilere bir bağlantı olarak, bilmek istediğim şeyler bunlar.


6
Dabapps'tan bu makale kavramları basitleştiriyor
suhair



Bir python çaylak olarak, doğrudan virtualenv (ve pip) giriş intro arıyordum ve ben sadece bu üzerinden oldu: [ dabapps.com/blog/introduction-to-pip-and-virtualenv-python/] [1] [1]: dabapps.com/blog/introduction-to-pip-and-virtualenv-python Bu mükemmel blog yazısı, diğer kafa karıştırıcı / yaklaşık olanları okuduktan sonra yaşadığım tüm hayal kırıklığını ortadan kaldırdı.
Arnaud Bouchot

Yanıtlar:


245

3
+1 Benim gibi yeni başlayanlar için iyi olduklarına katılıyorum. İkisini de geçirdim, şimdi en azından ne olduğunu ve onu almanın / kullanmanın temellerini biliyorum. (İkinci nedense o_O açıkladı activateama ihmal deactivate). Hala ne zaman kullanılacağı (ve ne zaman kullanılamayacağı) ve daha derin örnekler için daha fazla ayrıntı bekliyorum.
Dan Burton

1
Cevabın her zaman kullanmak olduğuna inanıyorum, aynı şekilde her zaman sürüm kontrolünü kullanmalısınız.
mlissner

1
--No-site-paketlerinin kullanımdan kaldırıldığını ve şimdi varsayılan davranış olduğunu unutmayın.
Adrian Lopez

1
Bu bana iyi bir fikir verdi virtualenv. virtualenvwrapperDokümanın sonraki kısımlarında bahsedilen kullanımı önerilir .
gihanchanuka

2
virtualenvİnternette tek bir öğretici ya da virtualenv'in kullanıcı kılavuzunun aslında Python betiğinizdeki ortamı nasıl kullanacağınızı göstermesi komik . Sadece bir ortam oluşturmak uğruna bir ortam kurmuyorsunuz. En azından size alternatifi gösteren bir eğitici buldum .
Yem

34

Virtualenv, izole Python ortamları oluşturmak için bir araçtır .

Diyelim ki A ve B olmak üzere 2 farklı projede çalışıyorsunuz. A Projesi bir web projesidir ve ekip aşağıdaki paketleri kullanmaktadır:

  • Python 2.8.x
  • Django 1.6.x

B projesi aynı zamanda bir web projesidir ancak ekibiniz şunları kullanır:

  • Python 2.7.x
  • Django 1.4.x

Çalıştığınız makinenin django sürümü yok, ne yapmalısınız? Django 1.4 yüklensin mi? django 1.6? Django 1.4'ü global olarak kurarsanız, A projesinde çalışmak için django 1.6'ya işaret etmek kolay olur mu?

Virtualenv sizin çözümünüz! Biri A projesi için diğeri B projesi için diğeri 2 farklı virtualenv oluşturabilirsiniz. Şimdi, A projesinde çalışmanız gerektiğinde, A projesi için virtualenv'i etkinleştirin veya tam tersi.

Virtualenv kullanırken daha iyi bir ipucu, sahip olduğunuz tüm virtualenv'leri kolayca yönetmek için virtualenvwrapper yüklemektir. Virtualenv'leri oluşturmak, çalışmak, kaldırmak için bir sarıcı.


1
Bu bağlantı soruyu cevaplayabilse de, cevabın temel kısımlarını buraya eklemek ve bağlantıyı referans olarak sağlamak daha iyidir. Bağlantı verilen sayfa değişirse, yalnızca bağlantı yanıtları geçersiz olabilir.
joce

2
Cevabı düzenledim ve buna daha fazla değer kattım. Geri bildiriminiz için teşekkür ederiz
lborgav

8

İşte iyi bir tane daha: http://www.saltycrane.com/blog/2009/05/notes-using-pip-and-virtualenv-django/

Bu nasıl kullanılacağını pipve virtualenv ile bir pip gereksinimleri dosyasını gösterir ; Scobal'ın önerdiği iki dersin her ikisi de çok faydalıdır, ancak her ikisi deeasy_install merkezlidir.

Bu öğreticilerin hiçbirinin sanal bir Pv'de farklı bir Python sürümünün nasıl çalıştırılacağını açıklamadığını unutmayın - bunun için şu SO sorusuna bakın: Virtualenv ile farklı Python sürümünü kullanma


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.