Conda: Menginstal / meningkatkan langsung dari github

112

Dapatkah saya menginstal / mengupgrade paket dari GitHub menggunakan conda ?

Misalnya, dengan pipsaya dapat melakukan:

pip install git+git://github.com/scrappy/scrappy@master

untuk menginstal scrappylangsung dari mastercabang di GitHub. Dapatkah saya melakukan sesuatu yang setara dengan conda?

Jika ini tidak memungkinkan, apakah masuk akal untuk menginstal pip dengan conda dan mengelola instalasi lokal tersebut dengan pip?

Amelio Vazquez-Reina
sumber

Jawaban:

74

Ada dukungan yang lebih baik untuk ini sekarang melalui conda-env. Anda dapat, misalnya, sekarang melakukan:

name: sample_env
channels:
dependencies:
   - requests
   - bokeh>=0.10.0
   - pip:
     - "--editable=git+https://github.com/pythonforfacebook/facebook-sdk.git@8c0d34291aaafec00e02eaa71cc2a242790a0fcc#egg=facebook_sdk-master"

Ini masih memanggil pip di bawah penutup, tetapi Anda sekarang dapat menyatukan spesifikasi paket conda dan pip Anda dalam satu environment.ymlfile.

Jika Anda ingin memperbarui lingkungan root dengan file ini, Anda akan perlu untuk menyimpan ini ke file (misalnya, environment.yml), kemudian jalankan perintah: conda env update -f environment.yml.

Kemungkinan besar Anda ingin membuat lingkungan baru:

conda env create -f environment.yml (diubah seperti yang seharusnya di komentar)

Aron Ahmadia
sumber
Bagaimana Anda menginstal persyaratan dari lingkungan itu di lingkungan root Anda?
kompor
@hobs - Saya telah mengedit jawaban untuk menjawab pertanyaan Anda.
Aron Ahmadia
1
Sebenarnya conda env create -f environment.yml, dengan kependekan conda createdari -fbendera --force.
Perfi
1
Apakah itu didokumentasikan di suatu tempat?
guilhermecgs
1
@Perfi, kesalahan saya, saya pikir Anda menyarankan bahwa yang dimaksud -fdi conda env createpaksa, dan bukan karena conda create, kesalahan saya karena tidak membaca dengan cermat.
Akankah
103

Jawabannya sudah ketinggalan zaman. Anda hanya perlu menginstal pip dan git. Maka Anda dapat menggunakan pip secara normal:

  1. Aktifkan lingkungan conda Anda source activate myenv

  2. conda install git pip

  3. pip install git+git://github.com/scrappy/scrappy@master

Gabriel Fair
sumber
4
Selain itu, Anda harus menggunakan pip yang ada di dalam envs Anda seperti dalam kasus saya, pip yang saya gunakan adalah "/ home / ubuntu / anaconda3 / envs / tensorflow_p36 / bin / pip". Pip ini muncul setelah Anda melakukan pemasangan conda. Anda dapat menambahkan dir bin ini ke $ PATH Anda.
faizan
1
apakah paket yang diinstal hanya di mastercabang setelah itu? Bagaimana jika saya ingin menguji PR saya dari cabang sebelum bergabung menjadi master?
Mymozaaa
1
@AntonAndreev spesifikasi mendukung git+gitdan git+https, plus lainnya. Namun, semua contoh spesifikasi menunjukkan a .gitsaat menentukan cabang.
merv
4
Banyak yang sudah di OP (menggunakan pip install). Pertanyaannya adalah menanyakan bagaimana melakukannya dengan menggunakan conda secara langsung , yang disediakan oleh jawaban teratas.
Amelio Vazquez-Reina
29

condatidak mendukung ini secara langsung karena menginstal dari binari, sedangkan git install akan dari sumber. conda buildmendukung resep yang dibuat dari git. Di sisi lain, jika semua yang Anda ingin lakukan adalah tetap up-to-date dengan paket terbaru dan terhebat, menggunakan pip di dalam Anaconda baik-baik saja, atau sebagai alternatif, gunakan setup.py developmelawan klon git.

asmeurer
sumber
Bagaimana jika paket Anda memiliki biner rilis yang terkait dengannya?
Marcel Ramos
4

Saya menemukan referensi untuk ini dalam masalah condas . Berikut ini sekarang harus bekerja.

name: sample_env
channels:
dependencies:
   - requests
   - bokeh>=0.10.0
   - pip:
     - git+https://github.com/pythonforfacebook/facebook-sdk.git
mmann1123
sumber
Hal ini tidak menambahkan apa pun yang belum ada dalam jawaban @ AronAhmadia , yang menggambarkan secara lebih umum bahwa banyak opsi dalam requirement.txt normal tersedia.
merv