2015-06-01 28 views
7

Windows'ta gitbash (7, 64bit) kullanıyorum. python -m venv venv numaralı telefonu arayarak python 3.4'ün yerleşik venv modülünü kullanarak bir venv oluşturmaya çalıştım ve başarılı bir şekilde oluşturdu, ancak sonuçta elde edilen venh bir bash etkinleştirme betiği içermiyordu, yalnızca bir .bat ve .ps1. activate, activate.bat, activate.ps1 ve activate_this.py:Pencereler için gitbash'ın devreye girmesi

piton 2.6.6 (sürümü 13.0.1) için Virtualenv kütüphane venv/Scripts/ klasöründe aşağıdaki dört dosya oluşturdu.

Gitbash konsolu ya da powershell komut dosyalarını kullanamadığından ve gerçekten windows cmd istemine veya bir VM'ye geri dönmek zorunda kalmak istemediğim için, bir kabuk oluşturmak için pyvenv'i elde etmenin herhangi bir yolu var mı Pencerelerdeyken benim için senaryo?

+0

Şu anda bu tam olarak sorun yaşıyorum. Python 3.5'e yükseltildim ama bu düzeltmedi. Herhangi bir çözüm bulabildin mi? –

+0

Bence bu bir hatadır. Projede geliştirme için Windows 7, 8'i kullanmam gerekiyor ama her zaman Git Bash Kabuğu'nu her şeyden önce o clunky DOS cmd kabuğundan kaçınmak ve grep'imi almam, komutları, takma adları bul, vb. Linux'ta, Windows tabanlı sistemlerde daha sonraki macunlar için etkin/devre dışı bırak. –

cevap

2

Bu, şu anda tasarım tarafından yapılmıştır.

Windows'ta, yalnızca Komut İstemi (.bat) ve PowerShell (.ps1) komut dosyaları yüklenir. The venv documentation, "Komutun çağrılması, platforma özel" diyor - Farklı platformlarda veli etkinleştirmek için bu belge listeleme komutlarındaki tabloya bakın. Venv kaynak koduna bakarsanız, Windows ve POSIX ortamları arasında ayrım yaptığını ve buna göre komut dosyalarını yüklediğini görebilirsiniz. Ancak, diğer kabuklar için komut dosyalarının da yüklenmesini isteyen bir open bug var. Muhtemelen çözülmesi için beklerken, bir geçici çözüm vardır: bash (veya diğer kabuk) komut dosyasını yerel makinenizden veya cPython hg repository (direct link to the file) adresinden alabilir ve Windows'a özgü komutların yanında bulunan Scripts klasörüne koyabilirsiniz. . Damacınızın bulunduğu dizine __VENV_DIR__, "bin" için __VENV_BIN_NAME__ ve venv etkinken (örneğin, "(env)") bash istemi ne olursa olsun __VENV_PROMPT__'u değiştirmeniz gerekir. İzinleri ayarlayın ve gitmek için iyi olmalısınız.

+0

Bu 'activate' dosyası, muhtemelen bir python betiği – Eric

1

Aşağıdaki kod nasıl ayarlanacağını açıklar Git Bash gidip . Scripts/activate veya source Scripts/activate kullanmak sanal env bash script varlığı konusunda endişelenmenize gerek yoktur ve

mkdir project 
cd project/ 
virtualenv env_project 
. activate env_project/ 
+0

Bu yeni/yeni özellik ek mi? –

0

bu benim için çalıştı: Git Bash adlı bir klasör proje içinde env_project adında bir vIRTUALENV başlatın. etkinleştirin