Конда: Встановлення / оновлення безпосередньо з github


112

Чи можу я встановити / оновити пакети з GitHub за допомогою conda ?

Наприклад, pipя можу:

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

встановити scrappy безпосередньо з masterфілії в GitHub. Чи можу я зробити щось еквівалентне з кондою?

Якщо це неможливо, чи має сенс встановлювати pip з conda та керувати такими локальними установками за допомогою pip?

Відповіді:


74

Зараз для цього є краща підтримка conda-env. Наприклад, ви можете, наприклад, робити:

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"

Це все ще викликає pip під кришками, але тепер ви можете об'єднати свої специфікації пакета conda та pip в одному environment.ymlфайлі.

Якщо ви хочете оновити кореневу середу з цим файлом, вам потрібно буде зберегти це в файл (наприклад, environment.yml), а потім виконати команду: conda env update -f environment.yml.

Більш ймовірно, що ви хочете створити нове середовище:

conda env create -f environment.yml (змінено, як передбачалося в коментарях)


Як ви встановлюєте вимоги до цього середовища у вашому кореневому середовищі?
варильні панелі

@hobs - я відредагував відповідь, щоб відповісти на ваше запитання.
Арон Ахмадія

1
Це на самому справі conda env create -f environment.yml, з прапором означає . conda create-f--force
Перфі

1
Це десь задокументовано?
guilhermecgs

1
@Perfi, моя помилка , я думав , що ви припустити , що -fв conda env createзгаданих сил, а не conda create, моя помилка за ретельно не читати.
Буде чи

103

Відповіді застарілі. Вам просто доведеться конда встановлювати pip і git. Тоді ви можете використовувати pip звичайно:

  1. Активуйте ваше середовище conda source activate myenv

  2. conda install git pip

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


4
На додаток до цього вам потрібно використовувати pip, який знаходиться в межах вашої envs, як у моєму випадку, використовуваний вами pip був "/ home / ubuntu / anaconda3 / envs / tensorflow_p36 / bin / pip". Цей піп з'являється після встановлення конди. Ви можете додати цей бін dir до $ PATH.
фазан

1
це встановлений пакет тільки на masterгілці після цього? Що робити, якщо я хотів би перевірити свій PR з гілки перед тим, як об'єднатися в головний?
Mymozaaa

1
@AntonAndreev специфікація підтримує і git+gitта git+https, і інші. Однак усі приклади специфікацій показують .gitщоразу, коли вказується галузь.
merv

4
Значна частина вже в ОП (використовує pip install). Питання полягає в питанні, як це зробити conda безпосередньо , використовуючи головну відповідь.
Амеліо Васкес-Рейна

29

condaне підтримує це безпосередньо, оскільки він встановлюється з двійкових файлів, тоді як git встановлюється з джерела. conda buildпідтримує рецепти, побудовані з git. З іншого боку, якщо все, що ви хочете зробити, це бути в курсі останніх і найбільших пакетів, використовувати pip всередині Anaconda просто добре, або по черзі, використовувати setup.py developпроти клона git.


Що робити, якщо у вашому пакеті пов'язаний бінарний випуск?
Марсель Рамос

4

Я знайшов посилання на це в питаннях condas . Тепер має працювати наступне.

name: sample_env
channels:
dependencies:
   - requests
   - bokeh>=0.10.0
   - pip:
     - git+https://github.com/pythonforfacebook/facebook-sdk.git

Це не додає нічого, що вже не є у відповіді @ AronAhmadia , що в цілому ілюструє, що багато варіантів у звичайних вимогах.txt доступні.
merv
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.