Bir git deposundan yüklemek için "pip install -e ..." yaptığımda, # egg = somename veya pip şikayetlerini belirtmem gerekiyor. Örneğin:
pip install -e git://github.com/hiidef/oauth2app.git#egg=oauth2app
Bu "yumurta" ipinin önemi nedir?
Bir git deposundan yüklemek için "pip install -e ..." yaptığımda, # egg = somename veya pip şikayetlerini belirtmem gerekiyor. Örneğin:
pip install -e git://github.com/hiidef/oauth2app.git#egg=oauth2app
Bu "yumurta" ipinin önemi nedir?
Yanıtlar:
pip kurulumu başına -h "egg" dizesi, kurulumun bir parçası olarak teslim alınan dizindir
project-name.egg-info/top_level.txt
yaratılmış olmalıdır. Bu dosyanın içeriğini egg
parametre değeri olarak kullanın .
egg=...
Ortamın gerçekten önemli olup olmadığını anlayamıyorum. Yüklediğim paketin top_level.txt dosyasında birden çok girişi var. Onu name
betiğin kullandığı kwarg ile eşleştirmeyi denedim setup.py
ama aynı zamanda keyfi bir değer. Sonuçlar her iki şekilde de aynı görünüyor. pip install https://...
Gerektirmeyen sözdizimini kullanarak kurduğumu unutmayın -e
.
# Egg = Package eklemeniz gerekir, böylece pip bu URL'den ne bekleyeceğini bilir. Bkz https://pip.pypa.io/en/stable/reference/pip_install/#vcs-support
pip install -h
, Source will be checked out into src/PACKAGE (lower-case) and installed in-place (using setup.py develop)
ben ... başka bir yerde kullanılan emin değilim
https://pip.pypa.io/en/stable/reference/pip_install/#vcs-support diyor ki:
"Yumurta = -" url sonekinin "proje adı" bileşeni, pip tarafından, boruyu indirmeden ve meta verileri analiz etmeden önce projeyi tanımlamak için bağımlılık mantığında kullanılır. Yumurta adının isteğe bağlı "sürüm" bileşeni işlevsel olarak önemli değildir. Yalnızca hangi sürümün kullanımda olduğuna dair insan tarafından okunabilir bir ipucu sağlar. Setup.py'nin projenin kök dizininde olmadığı projeler için "alt dizin" bileşeni kullanılır. "Alt dizin" bileşeninin değeri, projenin kökünden başlayarak setup.py'nin bulunduğu yere kadar bir yol olmalıdır.
Bundan, yumurta değerinin yalnızca bağımlılık kontrolleri için kullanıldığını ve bu nedenle, konvansiyonel olarak, some-pypi-package-name
herhangi bir klasör (yani some_pypi_package_name
) değil , paket adının (yani ) kullanılması gerektiğini düşünüyorum.
Bir Yumurta, paketlenmiş bir python kodudur . Git url'de yumurta proje adıdır. VCS Desteği
Normalde python paketlerini Pypi'den kurarız, bu nedenle YALNIZCA paket adını ve sürümünü belirtirsiniz (veya belirtmezseniz en son sürümü varsayar). Pypi daha sonra istediğiniz yumurtayı arar ve pip onu kurar. pip install celery
en son yayınlanan yumurtayı pip install celery[redis]
kurar ve aynı kereviz paketini içeren farklı bir yumurta kurar ve ayrıca celery setup.py'de redis için bağımlılıklar olarak listelenen paketlerden en son yumurtaları da yükler.
Git ve gitlab yollarıyla belirtirsiniz /{user|group}/{repository}.git@{tag}#egg={package-name}
. #egg=celery
ve arasında bir fark var #egg=celery[redis]
, ancak ikisi de aynı kaynak kodundan gelecek.
"etiket", gerçek bir etikete ek olarak bir dal veya kaydetme karması da olabilir. Belirtmezseniz olduğu varsayılır master
.
örneğin, git+https://github.com/celery/celery.git#egg=celery==4.3.0
ana dalı kontrol eder ve onu kurar. Bir sürüm numarası belirtmiş olsanız bile, kurulumda dikkate alınmaz. SÜRÜM NUMARASI YOK EDİLDİ
Git veya diğer VCS url'leri aracılığıyla yüklerken, ihtiyacınız olan sürümün etiketini veya karmasını bulmak isteyeceksiniz. Örneğin, git+https://github.com/celery/celery.git@v4.3.0#egg=celery
"v4.3.0" etiketli commit'i kontrol edecek ve ardından paketi bu kaynak koddan yükleyecektir. Bakımcıların depolarını fena halde yanlış etiketlemediklerini varsayarsak, istediğiniz sürümü bu şekilde alabilirsiniz.
pip install
Belgelerin bu kısmı hakkında konuşuyor#egg=name
, ancak net bir cevap vermiyor.