Dalam mencoba menemukan cara ringan untuk mendistribusikan skrip python dalam suatu organisasi, situasi yang diusulkan dengan pip seperti yang tersirat oleh pesan penghentian tidak masuk akal.
Anda dapat _dengan mudah_ mendistribusikan satu paket pada server git (sesuatu yang dimiliki sebagian besar organisasi)...tetapi Anda tidak dapat dengan mudah mendistribusikan paket yang mungkin bergantung pada beberapa paket internal lainnya.
Jika pip menghapus pemrosesan dependency_links, maka gaya distribusi ini akan menjadi benar-benar mustahil - yang bagi saya sangat kontras dengan sesuatu seperti npm
yang membuat melakukan hal ini menjadi sangat mudah.
Tentu, jangan membuatnya implisit - tetapi perlu ada cara mudah di mana saya dapat mengirim rekan kerja satu baris perintah yang akan pip menginstal paket yang memiliki banyak dependensi git lainnya.
Solusi ideal adalah cara untuk memaksa pip memproses file requirements.txt
dari repositori git, sehingga repositori dapat menentukan persyaratan lainnya secara khusus (karena ini adalah sesuatu yang pasti dilakukan oleh perpustakaan di repositori git).
Sempurna akan menjadi sesuatu seperti:
pip install --follow-requirements git+http://my.internal.gitserver/internallibrary.git
Mungkin memberikan Prompt untuk persyaratan yang tidak tepercaya?
Kami tidak akan menghapus tautan ketergantungan sampai penggantiannya (yang dipahami oleh PyPI dan dapat memaksa Anda untuk tidak mengunggah paket yang mengandalkannya) diterapkan.
@dstufft Apa pengganti ini?
Saya memiliki dua paket PackageA dan PackageB yang disimpan dalam repositori Git pribadi, dan sebuah aplikasi App. Aplikasi bergantung pada PackageA, dan PackageA bergantung pada PackageB. Saya tidak menemukan cara untuk menginstal PackageB secara otomatis sebagai ketergantungan PackageA saat menginstal persyaratan Aplikasi.
@connorbode bagaimana dengan menyiapkan indeks devpi dengan rilis, maka Anda dapat mengarahkan pip ke devpi sebagai indeks dan tidak memerlukan tautan ketergantungan apa pun dan itu juga akan mencerminkan/mencache pypi di jaringan kerja Anda
Komentar yang paling membantu
@dstufft Apa pengganti ini?
Saya memiliki dua paket PackageA dan PackageB yang disimpan dalam repositori Git pribadi, dan sebuah aplikasi App. Aplikasi bergantung pada PackageA, dan PackageA bergantung pada PackageB. Saya tidak menemukan cara untuk menginstal PackageB secara otomatis sebagai ketergantungan PackageA saat menginstal persyaratan Aplikasi.