Nasıl sürümü benim pakette setup.py (setuptools) tanımlanan alabilir miyim?
Nasıl sürümü benim paketinden setup.py tanımlı (--version
veya diğer amaçlar için) alabilir miyim?
CEVAP
Zaten yüklü dağıtım sorguya sürüm dizesi
Zamanında paketin içinden sürümünü soru sorup görünen () almak için kullanabilirsiniz:
import pkg_resources # part of setuptools
version = pkg_resources.require("MyProject")[0].version
Yükleme sırasında kullanmak için sürüm dizesini depolamak
Gitmek istersen başka bir yol 'yuvarlak (ki öyle görünüyor başka ne cevap yazarlar burada ortaya çıkmak zorunda olduğunu sanıyordum soran), koyun sürüm dizesi ayrı bir dosya okuma ve dosya içeriği setup.py
.
__version__
Bir satır ile bir paket içinde version.py yapabilirsin, setup.py setup.py ad __version__
ayarlar execfile('mypackage/version.py')
çok kullanarak daha sonra okumak.
Eğer bütün Python sürümlerinde olmayan Python dilleri ile bile çalışacak çok daha basit bir yol istiyorsanız bu sürüm dizesi erişim gerekebilir:
Metin dosyası, *8 örneğin* adında, ve setup.py
dosya okuma sırasında bir düz tek içeriğini sürüm dizesini depolamak.
version_file = open(os.path.join(mypackage_root_dir, 'VERSION'))
version = version_file.read().strip()
VERSION
aynı dosya o zaman tam olarak başka bir program, non-Python olanlar bile çalışır, ve sadece tüm programlar için tek bir yerde sürüm dizesini değiştirmeniz gerekir.
Yükleme sırasında yarış durumu hakkında uyarı
Bu arada, ithalat, paketinden senin setup.py olarak önerilen bir diğer cevap: olacak gibi gözüküyor (çünkü zaten paketin bağımlılıkları yüklü), ama olacak ortalığı kasıp üzerine yeni kullanıcılar Paket olarak değil yüklendikten şekilde paketiniz olmadan el ile yükleme bağımlılıklar ilk.
Nasıl benim uygulama sürümü düzeltme e...
Nasıl ücretsiz sürümü için bir "anahta...
Nasıl montaj dosya sürümü alabilir miy...
Nasıl benim kullanıcıların store'...
Nasıl benim Twitter sağa Hizala düğmel...