【问题标题】:Create empty conda environment创建空的 conda 环境
【发布时间】:2016-06-21 23:43:51
【问题描述】:

我可以使用程序biopython 创建一个新的 conda 环境:

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

【问题讨论】:

  • 通常你至少要安装python。如果你甚至不想要 python 版本,你可以通过使用mkdir -p </path/to/your/anaconda/distribution>/envs/<env-name>/bin 手动创建一个空环境来欺骗 conda
  • 对我来说没有意义。为什么我们不能创建无包环境?
  • 创建“空环境”时究竟创建了什么?
  • @cammil 不确定这在 conda 的较新版本中是否发生了变化,因为当我在没有指定任何内容的情况下创建新环境时,它会安装零个包 conda create --n my_env ## 创建带有 0 个包的 my_env已安装但是,当我指定 python 版本时,例如 python=3.7 然后它会安装基本依赖项。 conda create --n my_env2 python=3.7 source activate my_env2 conda list ## 列出大约 10 个安装的包

标签: python anaconda


【解决方案1】:

对于 Conda 2020.11 Linux,以下命令将创建一个空环境。

conda create --name your-env-name

【讨论】:

  • 请注意,这不会安装 python:您将使用系统 python,直到您 conda install python 或安装带有 python 作为依赖项的东西。
【解决方案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 包)。而我的答案就是做到这一点!
  • 你是对的,它指向 PATH 环境变量中的base python,而不是my_env python - 这就是 pip 包存在的原因。我错误地认为他们进行了符号链接克隆,这就是为什么我没有理解为什么 200 pip 包这么快的原因。谢谢!
【解决方案3】:

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

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

【讨论】:

  • 当我尝试这个时,使用 python=2.7,它正在安装几个 pkg,如 libgcc-ng、certifi、libstdcxx-ng 等。如何避免安装这些?
【解决方案4】:

要创建一个完全空的环境,没有 python 和/或任何其他默认包,只需在您的Anaconda 安装(本例中为 Anaconda3)的envs 目录中创建一个新文件夹:。

~\Anaconda3\envs>mkdir empy_env

第一次激活此环境时,会在 Windows 中创建名为 Scripts 的目录,在 Linux 中创建名为 bin 的目录,其中会创建一些批处理文件。在撰写本文时,这适用于 Windows 和 Linux 中的 Anaconda 4.3.30 版。

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

【讨论】:

    【解决方案5】:

    你可以给一个包名“python”来获得一个基本的空安装。

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

    【讨论】:

    • 谢谢。我不确定为什么这不是 Anaconda 软件包列表页面的前面和中心
    • 这非常有用,非常感谢!我还更新了我的 conda chetsheet 以包括并强调这一点(以防它对其他人有帮助:github.com/NeuronQ/cookbook/wiki/Python-Conda-cheatsheet
    • 我使用的是 conda 4.3.23 版,“conda create --name myenv”创建了一个没有包的新环境,甚至没有 python。它使用来自 conda 根环境的 python。
    • 当我这样做时,conda 会在新环境中安装 libgcc mutex、setuptools、pip 和 wheel,所以它不完全是“最小的”吗?
    • @Adrian 如果你真的想在那个环境中任何事情,比如安装其他包...
    猜你喜欢
    • 2017-04-02
    • 2018-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多