当前位置: 首页 > 面试题库 >

如何找到运行我的代码的conda环境的名称?

皇甫学海
2023-03-14
问题内容

我正在寻找一种从运行代码或交互式python实例中找出我所处的conda环境名称的好方法。

用例是我正在从miniconda安装中运行同时具有Python 2和Python
3内核的Jupyter笔记本。默认环境是Py3。Py2有一个单独的环境。在笔记本文件中,我希望它尝试进行操作conda install foosubcommand由于我找不到与相等的程序化conda,因此我现在正在执行此操作pip.main(['install','foo'])

问题是,foo如果笔记本计算机使用Py2内核运行,则该命令需要知道Py2环境的名称才能在此处安装。如果没有该信息,它将安装在默认的Py3
env中。我想让代码自己弄清楚它所处的环境以及正确的名称。

到目前为止,最好的解决方案是:

import sys

def get_env():
    sp = sys.path[1].split("/")
    if "envs" in sp:
        return sp[sp.index("envs") + 1]
    else:
        return ""

是否有更直接/合适的方式来实现这一目标?


问题答案:

您想要$CONDA_DEFAULT_ENV$CONDA_PREFIX

$ source activate my_env
(my_env) $ echo $CONDA_DEFAULT_ENV
my_env

(my_env) $ echo $CONDA_PREFIX
/Users/nhdaly/miniconda3/envs/my_env

$ source deactivate
$ echo $CONDA_DEFAULT_ENV  # (not-defined)

$ echo $CONDA_PREFIX  # (not-defined)

在python中:

In [1]: import os
   ...: print (os.environ['CONDA_DEFAULT_ENV'])
   ...:
my_env

环境变量没有得到很好的记录。您可以在CONDA_DEFAULT_ENV这里找到提到的内容:https : //www.continuum.io/blog/developer/advanced-features-
conda-part-1

CONDA_PREFIX我可以找到的唯一信息是此问题:https
:
//github.com/conda/conda/issues/2764



 类似资料:
  • 问题内容: 我希望conda的根环境在另一个环境中复制所有软件包。如何才能做到这一点? 问题答案: 有一些选项可以将依赖项名称/ URL /版本复制到文件中。 建议 通常,在新环境中工作比更改环境更安全。但是,在尝试更改之前,请考虑备份现有环境。通过在演示环境中测试这些命令来验证所需的结果。例如,要备份您的环境: 选件 选项1 -YAML文件 在第二个环境(例如)中,将名称+导出到yaml文件:

  • 问题内容: 我可以使用以下程序创建新的conda环境: 如果我不想安装任何程序怎么办?看来我做不到: 问题答案: 您可以使用仅“ python”的软件包名称来获得基本的空安装。

  • 问题内容: 这可能是一个非常简单的问题,但是我找不到谷歌的答案,所以我很着急-因此,我希望能使用快速的示例代码。 我想使用Java代码在OS上读取一个环境变量。我已经尝试过了System.getProperty,但这似乎只对-D直接为JVM提供的变量有效。 我的Java代码如何读取OS变量? 问题答案: 尝试System.getenv(字符串名称)

  • 我安装了Anaconda并且可以运行Python,所以我假设我正确安装了它。在这篇介绍性文档之后,我将尝试安装PythonV3。3,因此我将以下行复制并粘贴到我的控制台中: 但是,这给了我一个错误: -bash: conda:命令未找到 我需要做什么来运行Conda? 我正在Linux系统上工作。

  • 我收到了一封来自Google的关于TrustManager不安全实现的电子邮件,唯一的线索是有问题的代码在com.b.a.af类中。很明显,这是一个模糊的名字。在我自己的源代码中,我如何从模糊的类名中获得真正的类名。有什么方法可以查找ProGuard所做的映射吗?谢了!

  • 问题内容: 我安装了Anaconda并可以运行Python,因此我假设我已正确安装了它。按照此介绍性文档,我尝试安装Python v3.3,因此将以下行复制并粘贴到控制台中: 但是,这给了我一个错误: 找不到命令 运行Conda我需要做什么? 我正在Linux系统上工作。 问题答案: 你可能想尝试一下: 对于anaconda 2: 对于anaconda 3: 对于anaconda 4: 使用Ana