Kami ingin menggunakan pip dengan github untuk menginstal paket pribadi ke server produksi kami. Pertanyaan ini menyangkut apa yang perlu di repo github agar instalasi dapat berhasil.
Dengan asumsi baris perintah berikut (yang mengautentikasi baik-baik saja dan mencoba menginstal):
pip install git+ssh://git@github.com/BlahCo/search/tree/prod_release_branch/ProductName
Apa yang perlu berada di ProductName? Apakah ini isi dari apa yang biasanya ada di file tar setelah menjalankan setup.py dengan opsi sdist, atau apakah file tar.gz yang sebenarnya, atau yang lainnya?
Saya bertanya di sini karena saya sudah mencoba beberapa variasi dan tidak dapat membuatnya berfungsi. Setiap bantuan dihargai.
-e
opsi (mode yang dapat diedit) ke pip?pip install git+https://github.com/pypa/pip.git
Sumber: pip Github repoSaya memiliki masalah serupa ketika saya harus menginstal dari repo github, tetapi tidak ingin menginstal git, dll.
Cara sederhana untuk melakukannya adalah menggunakan arsip zip paket. Tambahkan
/zipball/master
ke URL repo:Dengan cara ini Anda akan membuat pip bekerja dengan repositori sumber github.
sumber
Jika Anda ingin menggunakan
requirements.txt
file, Anda perlugit
dan sesuatu seperti entri di bawah ini untuk mengambil cabang master secara anonim direquirements.txt
.Untuk pemasangan rutin:
Untuk pemasangan "yang dapat diedit ":
Mode yang dapat diedit mengunduh kode sumber proyek ke
./src
dalam direktori saat ini. Hal ini memungkinkanpip freeze
untuk menampilkan lokasi github yang benar dari paket.sumber
#egg=django-celery
? Apakah itu pengganti?Mengkloning target repositori dengan cara yang sama seperti Anda mengkloning proyek lain:
Kemudian instal dalam mode pengembangan:
Anda dapat mengubah apa pun yang Anda inginkan dan setiap kode menggunakan
foo
paket akan menggunakan kode yang dimodifikasi.Ada 2 manfaat dari solusi ini:
.git
dir, jadi itu adalah repositori Git biasa. Anda dapat mendorong ke garpu Anda segera.sumber
pip
, jadi saya kloningpip
repositori, membuat virtualenv, mengaktifkannya, dan melakukannyapip install -e .
. Kemudianpip
di virtualenv berada dalam mode pengembangan! Saya terkesan bahwa ini bekerja bahkan dengan manajer paket itu sendiri.pip list
, paket tersebut memiliki referensi ke cabang Git dan path absolut dari mana ia diinstal. Apakah itu menyimpan referensi untuk itu atau dapatkah sumber dihapus?Anda dapat mencoba cara ini di Colab
sumber