Arasında önemli bir fark var mı
pip install -e /path/to/mypackage
ve setuptools varyantı?
python /path/to/mypackage/setup.py develop
Arasında önemli bir fark var mı
pip install -e /path/to/mypackage
ve setuptools varyantı?
python /path/to/mypackage/setup.py develop
Yanıtlar:
setup.py
Doğrudan arama yapmaktan kaçının , pip'e paketinizi kurduğunuzu düzgün bir şekilde söylemez.
İle pip install -e
:
Yerel projeler için, proje yoluna göre “SomeProject.egg-info” dizini oluşturulur. Bu, sadece
setup.py develop
geçerli çalışma dizinine göre “yumurta-bilgisi” ni yaratan sadece kullanıma göre bir avantajdır .
Diğer: dokümanlar
Ayrıca kurulum araçlarının belgelerini de okuyun .
Bir fark daha: pip install -e
tekerleği python setup.py develop
kullanmazken kullanır
.
İle install
aynı davranışı kullanarak
pip install -e /path/to/package --no-use-wheel
Tekerlekler hakkında daha fazla bilgi: python tekerlekleri
--no-use-wheel
lehine önerilmemektedir--no-binary :all:
İyilik olabilir Diğer bir farklılık pip install -e
da proje bağımlılıkları varsa olmasıdır install_requires
içinde setup.py
, daha sonra pip install -e .
ise, pip ile bağımlılıkları yükler python setup.py develop
ile yükleyebilirsiniz easy_install
'yumurta bilgi' yukarıda belirtildiği gibi: ve sorunlar yeniden neden olabilir. Ne zaman install-requires
kullandığı dependency_links
özel git URL'ler ile ekli yumurta tanımlayıcıları ile, bu özellikle rahatsız edici olabilir.
pip install -e .
, esasen ilgili Python site paketleri dizininde çalışan kopyanızı gösterecek şekilde bir sembolik bağlantı yapar. Bu çalışma kopyasında kod değişiklikleri yapıldığından, anında "kurulu" sürüme yansıtılır, bu nedenle kurulum komutlarını yeniden çalıştırmanız gerekmez. Bu öncelikle yüklenebilir bir paketi temsil eden bir havuzda geliştirmek için kullanışlıdır, ancak örneğin sadece mutlak ithalata sahip bazı modül koleksiyonlarını yazmak için de kullanışlı olabilir
Yine başka bir fark: python setup.py develop
ön sürüm olarak kabul edilen bir sürüm için çalıştırdığınızda (belki de bir sürümü teslim almadığınızda bir git klonundan çalıştırdığınız için), bağımlılıklarınızın ön sürümlerinin yüklenmesini etkinleştireceksiniz . Öte yandan, ile pip install --editable
size geçmek zorunda --pre
bu ön bültenleri istiyorsanız açıkça.
( Yanlışlıkla kullanılan ön sürümlerle CI günlüğüne bakın ve bunu burada sabit bir yapı ile karşılaştırın .)