【问题标题】:Do newly created conda envs inherit all packages from the base env?新创建的 conda envs 是否从基本 env 继承所有包?
【发布时间】:2019-02-25 06:15:45
【问题描述】:

我安装了 Anaconda 并创建了一个新的环境(“dell_proj”)。然后我用我的新环境在 Pycharm 中创建了一个新项目。我的期望是,我只能在该项目中使用通过 Conda 在该特定环境中安装的包,但是,我能够使用安装在 Base 环境中的所有包。

Packages shown available in Conda for env

Packages shown available in Pycharm for env

有人能解释一下我在这里的误解吗?

【问题讨论】:

标签: python python-3.x pycharm anaconda conda


【解决方案1】:

我在 Python 3 中使用 Anaconda x64-4.4.0。我创建了一个新的 Python 2 环境,它只导入了几个基本包。因此,答案似乎取决于环境是如何创建的。

【讨论】:

    【解决方案2】:

    您可以使用创建基本环境的克隆 conda create --name dell_proj --clone base。这将创建一个作为基础环境副本的新环境。

    如果您使用conda create --name dell_proj 之类的东西创建了新环境,它将不会从基础环境继承包。您必须使用 conda install 安装所需的软件包。

    【讨论】:

      【解决方案3】:

      在windows中你创建一个环境而不指定python版本,那么它将创建一个包含所有包的新环境。我不知道这是错误还是功能,但这在 Windows 中有效。

      conda create -n new_env
      

      使用基础包创建环境

      conda create -n new_env python=3.7 
      

      仅使用下面给出的一些必要包创建新环境

      ca-certificates    
      certifi            
      openssl            
      pip                
      python             
      setuptools         
      sqlite             
      vc                 
      vs2015_runtime     
      wheel              
      wincertstore       
      

      【讨论】:

      • 这在 WIndows 10 上似乎不再适用;按照指定创建 new_env 会创建一个没有任何内容的环境。运行例如无法识别来自新环境的spyder :(
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-12-08
      • 1970-01-01
      • 1970-01-01
      • 2021-09-25
      • 2022-09-23
      • 1970-01-01
      • 2019-08-08
      相关资源
      最近更新 更多