创建空的conda环境


86

我可以使用以下程序创建新的conda环境biopython

conda create --name snowflakes biopython

如果我不想安装任何程序怎么办?看来我做不到:

» conda create --name tryout
Error: too few arguments, must supply command line package specs or --file

You can specify one or more default packages to install when creating
an environment.  Doing so allows you to call conda create without
explicitly providing any package names.

To set the provided packages, call conda config like this:

    conda config --add create_default_packages PACKAGE_NAME

2
通常,您至少要安装python。如果您甚至不想使用python版本,都可以使用mkdir -p </path/to/your/anaconda/distribution>/envs/<env-name>/bin
cel

对我没有意义。为什么我们不能创建一个无包装的环境?
cammil

1
创建“空环境”时到底会创建什么?
user3731622

@cammil不知道在较新版本的conda中是否已更改,因为当我创建一个不指定任何内容的新环境时,它将安装零个软件包conda create --n my_env ##创建了安装了0个软件包的my_env但是,当我指定一个python时例如python = 3.7的版本,则它将安装基本依赖项。conda create --n my_env2 python = 3.7源激活my_env2 conda list ##列出已安装的10个软件包
Light_B 18-10-17

Answers:


212

您可以使用仅“ python”的软件包名称来获得基本的空安装。

conda create --name myenv python
conda create --name myenv python=3.4

14
谢谢。我不确定为什么它不在Anaconda软件包列表页面的正面和中心位置
joelion

这非常有用,非常感谢!我还更新了我的conda chetsheet,以包含并强调这一点(以防对他人有所帮助:github.com/NeuronQ/cookbook/wiki/Python-Conda-cheatsheet
NeuronQ

2
我使用的是conda版本4.3.23,“ conda create --name myenv”创建了一个没有软件包,甚至没有python的新环境。它使用来自conda根环境的python。
Varun

当我这样做时,conda在新环境中安装libgcc互斥锁,setuptools,pip和wheel,所以不是完全“最小”吗?
阿德里安

@Adrian,如果您实际上想在该环境中执行任何操作,例如安装其他软件包,
则应尽可能减少

34

如果您create_default_packages.condarc文件中创建了一个块,则@joelion的答案将安装这些软件包。如果您不想要这些,请使用该--no-default-packages标志。例如:

conda create --name myenv python --no-default-packages

3
当我尝试使用python = 2.7时,它正在安装几个pkg,例如libgcc-ng,certifi,libstdcxx-ng等。如何避免安装这些文件?
伊桑(Ethan)'18

5

要创建一个没有python和/或任何其他默认软件包的绝对为空的环境,只需envsAnaconda安装目录中创建一个新文件夹(本示例中为Anaconda3):

~\Anaconda3\envs>mkdir empy_env

首次激活此环境时,将创建一个Scripts在Windows中(bin在Linux中)命名的目录,其中包含一些批处理文件。在撰写本文时,它适用于Windows和Linux上的Anaconda 4.3.30版本。

我注意到@cel在问题下的第一条评论中提出了同样的建议,但是显然它没有得到应有的重视!


2

这是用0个软件包创建一个真正的空(浅)conda_env的方法:

conda create --name myenv --no-default-packages

创建和完成将需要几秒钟。


不工作,该命令仍像吨包预装它pylint scipy,等等
卡丹

@Cardin不,绝对不是。此命令将没有安装软件包。您可以通过使用它进行检查,conda list 您将看到没有包。
艾曼·阿尔萨迪

imgur.com/a/3AiDnyh好的,我认为您在技术上是正确的。但是OP的意图似乎是关于pip包,而不是conda包。因为使用joelion的答案(这是公认的答案),所以它确实创建了一个pip依赖性最小的conda env。
卡丹

我认为这个问题的背景是关于如何创建一个空的conda env。(0个conda程序包)。我的答案就是实现这一目标!
艾曼·阿尔萨迪

1
没错,它指向basePATH环境变量中的my_envpython ,而不是python-这就是pip包在那里的原因。我错误地认为他们进行了符号链接克隆,这就是为什么我不明白为什么200个pip包这么快的原因。谢谢!
卡丹
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.