Conda: установка локального пакета разработки в единую среду conda
если бы я использовал virtualenv, я бы активировал виртуальную среду моего проекта, а затем установил пакет, который я разрабатываю в режиме разработки. Что-то вроде следующего:
workon superbad
pip install -e fnawesome
Это позволяет мой пакет fnawesome
для доступа с любыми обновлениями кода в my superbad
виртуальной среде. Если я переключусь на любую другую среду, включая среду по умолчанию,superbad
id недоступен.
как люди делают подобные установки с помощью conda?
3 ответов
вы можете настроить список пакетов по умолчанию, которые будут установлены в любую среду conda автоматически
conda config --add create_default_packages pip --add create_default_packages ipython
сделает так, что conda create
всегда будет включать в себя pip
и ipython
в новых средах (эта команда такая же, как добавление
create_default_packages:
- ipython
- pip
на ).
чтобы создать среду без них, используйте conda create --no-default-packages
.
хорошо, я понял проблему, стоящую за вопросом.
Если вы создаете среду 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
попробуйте это, укажите виртуальную среду при установке пакета python:
conda install -n superbad fnawesome