SORU
13 Ocak 2010, ÇARŞAMBA


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
15 Ocak 2010, Cuma


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.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Codecourse

    Codecourse

    3 ŞUBAT 2009
  • SelmerSaxMan

    SelmerSaxMan

    24 HAZİRAN 2006
  • UCBerkeley

    UCBerkeley

    3 Mayıs 2006