pipenv ile yerel bağımlılık bağımlılıklarını yüklemek

oy
0

Arka fon

Biz * Aşağıdaki üst düzey dizin yapısı ile proje var

./datascience/
├── core
│   └── setup.py
├── notebooks
│   └── Pipfile
└── web
    └── Pipfile

* Dışlanan tüm alakasız dosya ve kısalık için dizinleri.

corePaket kütüphanesidir. Bu ikisinin bir bağımlılık var notebooksve webuygulamaları.

corePaket, bir kütüphane olma , belirtilen bağımlılıklarından vardırsetup.py

import setuptools

setuptools.setup(
    install_requires=[
        'some-dependency',
        'another-dependency'
    ]
)

webVe notebooksuygulamaları kullanan pipenv bağımlılık yönetimi için. Onların bağımlılıkları bir belirtilir Pipfile.

Örneğin, aşağıda nasıl webbağımlılıkları belirtilir web/Pipfile:

[packages]
datascience-core = {path = ./../core}
flask = ~= 1.0

Fark nasıl corebağımlılık yerel bağımlılık, dolayısıyla göreli bir yoldur.

Sorun

Bir Yapma pipenv installiçinden webveya notebooksdizin bağımlılıkları yüklenmez corebeklediğim gibi kütüphaneye!

Ben de bir kullanma çalıştı Pipfileiçin corepipenv kendi grafikte onu almak ve tüm iç içe bağımlılıkları indirmek umuduyla. Ama öyle değil.

Nasıl bir bağımlılık olabilir corepipenv için bağımlılıkları yükleme sırasında app otomatik olarak yüklenecek webveya notebooksapp?

Oluştur 27/11/2018 saat 18:09
kaynak kullanıcı
Diğer dillerde...                            


1 cevaplar

oy
0

Bir pipenv sorunu dizisindeki Bu yoruma bir çözüm sayesinde Bulunan: https://github.com/pypa/pipenv/issues/209#issuecomment-337409290

Ben listeleme devam ettik coreiçinde 'nin bağımlılıkları setup.py.

Ben değiştim webve notebookbir kullanmak üzere uygulama düzenlenebilir kurulumunu corepaketinde.
Bu, hem de aşağıdaki çalıştırarak yapıldığını webve notebooksdizinde:

pipenv install --editable ../core

Bu diff üretti

[packages]
- datascience-core = {path = "./../core"}
+ datascience-core = {editable = true,path = "./../core"}

Şimdi çalışan pipenv installgelen webve notebooksmontajı konusunda dizin sonuçları corepaketin ve bağımlılıklarının!

Aynı zamanda sahip olduğu başka çok can sıkıcı sorunu çözüldü pipenv installbir değişiklik oldu her zaman core. Şimdi yerel paketini yeniden yüklemek zorunda kalmadan geliştirme değişiklikleri alır!

Cevap 27/11/2018 saat 19:59
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more