gerekli Python paketlerini requirements.txt ile yönetme
Python projenizi başkalarıyla paylaşıyorsanız veya Python uygulamanızı oluşturmak için bir derleme sistemi kullanıyorsanız, gerekli dış paketleri belirtmeniz gerekir. Projenizi bir ortamı geri yüklemeniz gereken diğer konumlara kopyalamayı planlıyorsanız, gerekli bağımlı paketleri de tanımlamanız gerekir.
Dış bağımlı Python paketlerini belirtmek için önerilen yaklaşım, bir gereksinim dosyası (readthedocs.org) kullanmaktır. Bu dosya, projeniz için bağımlı paketlerin gerekli sürümlerini yükleyen pip komutlarının listesini içerir. En yaygın komut şudur: pip freeze > requirements.txt
. Bu komut, ortamınızın geçerli paket listesini dosyaya requirements.txt
kaydeder.
Gereksinimler dosyası, tüm yüklü paketlerin kesin sürümlerini içerir. Bir ortamın gereksinimlerini dondurmak için gereksinim dosyalarını kullanabilirsiniz. Hassas paket sürümlerini kullanarak ortamınızı başka bir bilgisayarda kolayca yeniden oluşturabilirsiniz. Gereksinimler dosyaları bir sürüm aralığıyla, başka bir paketin bağımlılığı olarak veya pip dışında bir yükleyiciyle yüklenmiş olsalar bile paketleri içerir.
Önkoşullar
Python iş yükleri desteğiyle yüklenen Visual Studio. Daha fazla bilgi için bkz . Visual Studio'da Python desteğini yükleme.
Gereksinimler dosyası. Var olan bir gereksinimler dosyasını kullanabilir veya bu makalede açıklandığı gibi bir dosya oluşturabilirsiniz.
Teknik olarak, gereksinimleri izlemek için herhangi bir dosya adı kullanılabilir. Ancak Visual Studio, "requirements.txt" adlı gereksinimler dosyası için özel destek sağlar. Dosya için -r <full path to file>
tercih ettiğiniz adı belirtmek üzere bir paket yüklerken bağımsız değişkenini kullanabilirsiniz.
requirements.txt'de listelenen bağımlılıkları yükleme
Dosyası olan requirements.txt
bir projeyi yüklerseniz, dosyada listelenen tüm paket bağımlılıklarını yükleyebilirsiniz.
Çözüm Gezgini'da projeyi genişletin ve ardından Python Ortamları düğümünü genişletin.
Paketlerini yüklemek istediğiniz ortam düğümünü bulun. Düğüme sağ tıklayın ve requirements.txt yükle'yi seçin.
Çıkış penceresinde paket yükleme işlemini izleyebilirsiniz:
Çıkışta, etkilenen pip komutları ve daha yeni pip sürümlerinin kullanılabilirliği için gerekli güncelleştirmelerin yanı sıra yüklü olan tüm gerekli paketler listelenir.
Sanal ortama bağımlılıkları yükleme
Python paketi bağımlılıklarını mevcut bir sanal ortama da yükleyebilirsiniz.
Çözüm Gezgini'de projenizi genişletin ve ardından Python Ortamları düğümünü genişletin.
Paketlerini yüklemek istediğiniz sanal ortam düğümünü bulun. Düğüme sağ tıklayın ve requirements.txt yükle'yi seçin.
Sanal ortam oluşturmanız gerekiyorsa bkz . Sanal ortamları kullanma.
requirements.txt dosyasını oluşturma
Projeniz için gerekli tüm Python paketleri bir ortamda zaten yüklüyse, dosyayı Visual Studio'da oluşturabilirsiniz requirements.txt
.
Çözüm Gezgini'de projenizi genişletin ve ardından Python Ortamları düğümünü genişletin.
Gereksinimler dosyasını oluşturmak istediğiniz ortam düğümünü bulun. Düğüme sağ tıklayın ve requirements.txt oluştur'a tıklayın.
Var olan bir requirements.txt dosyasına girdileri yenileme veya ekleme
requirements.txt
Dosya zaten varsa, Visual Studio çeşitli seçenekler içeren bir istem görüntüler:
- Dosyanın tamamını değiştirme: Dosyada tanımlanan tüm öğelerin, açıklamaların ve seçeneklerin
requirements.text
üzerine yazın. - Mevcut girdileri yenile: Dosyadaki
requirements.text
sürüm tanımlayıcılarını şu anda yüklü olan sürümle eşleşecek şekilde güncelleştirin. - Girdileri güncelleştirme ve ekleme: Dosyadaki
requirements.text
mevcut gereksinimleri yenileyin ve tüm yeni paket gereksinimlerini dosyanın sonuna ekleyin.
Visual Studio, ortamın geçerli paket gereksinimlerini algılamak için çalışır pip
ve ardından dosyanızı seçiminize requirements.txt
göre güncelleştirir.
Paket bağımlılıklarını el ile yükleme
Pip dosyanızda requirements.txt
tanımlanan bir paket bağımlılığı yüklemezse yüklemenin tamamı başarısız olur.
Bu sorunu çözmek için iki seçeneğiniz vardır:
Başarısız paketi dışlamak için dosyayı el ile düzenleyin
requirements.txt
ve yükleme işlemini yeniden çalıştırın.Paketin yüklenebilir bir sürümüne başvurmak için pip komut seçeneklerini kullanın.
Gereksinimler dosyasını pip tekerleği ile güncelleştirme
Bir bağımlılığı derlemek için komutunu kullanırsanızpip wheel
, seçeneğini dosyanıza requirements.txt
ekleyebilirsiniz--find-links <path>
.
pip wheel
Gerekli bağımlılıkların listesini derlemek için komutunu çağırın:pip wheel azure
Çıktı, toplanan paketler için oluşturulan tekerlekleri gösterir:
Downloading/unpacking azure Running setup.py (path:C:\Project\env\build\azure\setup.py) egg_info for package azure Building wheels for collected packages: azure Running setup.py bdist_wheel for azure Destination directory: c:\project\wheelhouse Successfully built azure Cleaning up...
find-links
dosyanızarequirements.txt
paket sürümü gereksinimiyle birlikte veno-index
seçeneklerini ekleyin:type requirements.txt --find-links wheelhouse --no-index azure==0.8.0
Güncelleştirilmiş gereksinimler dosyanızla pip yükleme işlemini çalıştırın:
pip install -r requirements.txt -v
Çıkış, yükleme işleminin ilerleme durumunu izler:
Downloading/unpacking azure==0.8.0 (from -r requirements.txt (line 3)) Local files found: C:/Project/wheelhouse/azure-0.8.0-py3-none-any.whl Installing collected packages: azure Successfully installed azure Cleaning up... Removing temporary dir C:\Project\env\build...