Conda environment.yml ile pip gereksinimleri.txt birleştiriliyor


107

Conda ortamlarıyla çalışıyorum ve bazı pip paketlerine de ihtiyacım var, örneğin ~ gohlke'den önceden derlenmiş tekerlekler .

Şu anda iki environment.ymldosyam var: conda için:

# run: conda env create --file environment.yml
name: test-env
dependencies:
- python>=3.5
- anaconda

ve requirements.txtyukarıdaki conda ortamı etkinleştirildikten sonra kullanılabilecek pip için:

# run: pip install -i requirements.txt
docx
gooey
http://www.lfd.uci.edu/~gohlke/pythonlibs/bofhrmxk/opencv_python-3.1.0-cp35-none-win_amd64.whl

Bunları tek bir dosyada (conda için) birleştirme imkanı var mı?


2
Conda'da requirements.txt kullanmak için bir GitHub çekme isteği var. github.com/conda/conda-env/pull/172
OneCricketeer

3
conda env exportbir .yml metnini şu anda kurulu olan paketlere göre oluşturacaktır.
Kenny

Yanıtlar:


132

Pip bağımlılıkları environment.ymldosyaya şu şekilde dahil edilebilir ( dokümanlar ):

# run: conda env create --file environment.yml
name: test-env
dependencies:
- python>=3.5
- anaconda
- pip
- pip:
  # works for regular pip packages
  - docx
  - gooey
  # and for wheels
  - http://www.lfd.uci.edu/~gohlke/pythonlibs/bofhrmxk/opencv_python-3.1.0-cp35-none-win_amd64.whl

.whlAynı dizindeki ( Dengar'ın cevabına bakın ) ve ortak pip paketlerindeki dosyalar için de çalışır .


3
İyi iş çıkardı! conda env create -f environment.yml, ve environment.ymldosyanın geçerli dizinde olması gerekir, aksi takdirde tuhaf hatalar atılır.
Johnny Zhang

40

requirements.txtDoğrudan YAML'de de kullanılabilir . Örneğin,

name: test-env
dependencies:
  - python>=3.5
  - anaconda
  - pip
  - pip:
    - -r file:requirements.txt

Temel olarak, birlikte çalıştırabileceğiniz herhangi bir seçenekpip install bir YAML'de çalıştırılabilir. Diğer yeteneklerin bir vitrini için Gelişmiş Pip Örneğine bakın .


Ne anlama -rgeliyor? Pip'in komut satırı seçeneklerine baktığımızda ( burada ) bir yoktur, -rbu yüzden bunun nereden geldiğini bilmek faydalı olacaktır (ve --uzun biçimli bir eşdeğeri varsa)
dumbledad

3
Buldum, ben baktım gerekirdi pip installseçenekleri burada . -rgereksinim dosyası içindir ve daha uzun eşdeğeri--requirement
dumbledad

YAML'yi koşulsuz kullanmanın bir yolu var mı? Veya gereksinimler dosyasında istediğimiz python sürümünü belirtin.
Mez 13

@ Mez13 lütfen yeni bir soru sorun.
merv

13

Sadece dizine bir tekerlek eklemenin de işe yaradığını eklemek istiyorum. URL'nin tamamını kullanırken şu hatayı alıyordum:

HTTP error 404 while getting http://www.lfd.uci.edu/~gohlke/pythonlibs/f9r7rmd8/opencv_python-3.1.0-cp35-none-win_amd64.whl

Tekerleğin indirilmesi ve yml dosyasıyla aynı dizine kaydedilmesi sona erdi.

name: test-env
dependencies:
- python>=3.5
- anaconda
- pip
- pip:
  - opencv_python-3.1.0-cp35-none-win_amd64.whl

2
Bundan yukarıdaki cevapta bahsetmiştim.
bastelflp
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.