Conda: 将本地开发包安装到单个 Conda 环境

18
如果我正在使用virtualenv,我会激活我的项目虚拟环境,然后以develop模式安装我正在开发的软件包。类似以下内容:

如果我在使用虚拟环境,我会激活我的项目虚拟环境,然后在开发模式下安装我正在开发的软件包。就像以下这样:

workon superbad
pip install -e fnawesome

这使得我的软件包fnawesome可以在我的superbad虚拟环境中进行任何代码更新。如果我切换到其他任何环境,包括默认环境,superbad都无法访问。

人们如何使用conda进行类似的设置?

4个回答

18

您可以配置一个默认软件包列表,这些软件包将自动安装到任何conda环境中

conda config --add create_default_packages pip --add create_default_packages ipython
pipipython 在新环境中一直包含在conda create命令中。(该命令与添加以下内容相同:

)
create_default_packages:
  - ipython
  - pip

将其添加到您的.condarc文件中。

要创建一个不包含这些内容的环境,请使用conda create --no-default-packages


1
谢谢,这是一个很大的改进。 - brent.payne

11

好的,我已经找到了这个问题背后的原因。

如果你创建一个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
是的,已添加。默认的“Anaconda”包也可以使用。它包含了“pip”、“ipython”和一堆其他库,如果你正在使用Anaconda Python,你可能需要这些库。它远非最小化。 - brent.payne

0

尝试这个,安装Python包时指定虚拟环境:

conda install -n superbad fnawesome  

0

激活要安装包的环境

conda activate [environment]

安装软件包

conda install [package]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接