2014-01-05 3 views
14

Если бы я использовал virtualenv, я бы активировал виртуальную среду моего проекта, а затем установил пакет, который я разрабатываю в режиме разработки. Что-то вроде следующего:Conda: установка локального пакета разработки в единую среду conda

workon superbad 
pip install -e fnawesome 

Это позволяет мой пакет fnawesome быть доступен с любых обновлений кода в моей виртуальной среде superbad. Если я переключусь на любую другую среду, включая среду по умолчанию, superbad id недоступен.

Как люди делают подобные настройки с помощью конды?

ответ

15

Вы можете настроить список пакетов по умолчанию, которые будут установлены в любую Конде среду автоматически

conda config --add create_default_packages pip --add create_default_packages ipython 

будет сделайте так, чтобы conda create всегда включал pip и ipython в новых условиях (эта команда так же, как добавление

create_default_packages: 
    - ipython 
    - pip 

в файл .condarc).

Чтобы создать среду без них, используйте conda create --no-default-packages.

+1

Спасибо, это большое улучшение –

8

Хорошо, я понял вопрос, стоящий за вопросом.

Если вы создаете среду conda, обязательно включите pip и ipython. В противном случае он не будет устанавливать путь к конкретным версиям этих утилит.

так:

conda create -n superbad scikit-learn 
source activate superbad 
pip install -e fnawesome # (installs in default env b/c pip is global pip) 
ipython # runs global ipython with access to global site packages 
python # runs the environment's python with no access to fnawesome 

это работает, как ожидалось:

conda create -n superbad scikit-learn pip ipython 
source activate superbad 
pip install -e fnawesome # installing into superbad site packages 
ipython # runs superbad ipython 
python # runs the environment's python with access to fnawesome 
source deactivate 
ipython # no access to fnawesome 
+1

Ницца! Я думаю, что вам не хватает фактической установки ipython и pip при создании второй среды, не так ли? – jorgeca

+1

yup, добавлено. Также можно использовать пакет «anaconda» по умолчанию. Поскольку он обертывает «pip», «ipython» и множество других библиотек, которые вы, вероятно, захотите, если используете anaconda python. Это далеко не минимально. –

0

попробовать это, указать виртуальную среду при установке пакета питона:

conda install -n superbad fnawesome 
Смежные вопросы