有什么方法可以判断用户的python环境是否是anaconda

2024-03-29

我正在分发一个内部 python 库,如果用户在运行此文件时使用 anaconda,则将自动更新库的依赖项。 (这是应要求提供的。如果由我决定,我会让用户控制他们自己的软件包。)

到目前为止,我想出了类似的东西

def _user_has_conda():
    cmd = 'conda --help'
    p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
    out, err = p.communicate()
    if len(out) > 0 and len(err) == 0:
        return True
    else:
        return False

但这实际上只告诉我用户的系统上是否安装了 anaconda,而不告诉我当前的 python 进程是否在 anaconda 环境中运行。

我注意到,当我启动 python 或 ipython shell 时,我看到“Python 3.3.3 |Continuum Analytics, Inc|”在顶部。我的下一个想法是尝试找到如何获取此字符串以查看“Continuum Analytics”是否存在,如果存在,则假设用户正在 anaconda 中运行。

我确信那里有更好的想法,这就是我来这里的原因。

谢谢。


对于版本

In [109]: import sys

In [110]: 'conda' in sys.version
Out[110]: True

对于版本 >= 3.7,版本信息已更改为:

In [2]: sys.version
Out[2]: '3.7.1 (default, Dec 10 2018, 22:54:23) [MSC v.1915 64 bit (AMD64)]'

From 这个帖子 https://stackoverflow.com/questions/47608532/how-to-detect-from-within-python-whether-packages-are-managed-with-conda/47610844#47610844解决方案应改为:

import sys, os
is_conda = os.path.exists(os.path.join(sys.prefix, 'conda-meta'))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有什么方法可以判断用户的python环境是否是anaconda 的相关文章

随机推荐

  • 如何让shell脚本在Mac中双击运行?

    我创建了一个 shell 脚本来在 Mac 中运行 jar 文件 bin sh java Xmx512m jar test jar 我已将此脚本重命名为 应用程序命令 双击就可以直接运行 我已经应用了 chmod x 命令使其具有可执行权限
  • PHP header() 不会重定向问题

    我的 header Location index php action messagesent 有问题 在用户按下提交并且 php 运行后 它不会重定向 通常它会重定向 但由于某种原因它不起作用 它只是在点击提交后重新加载页面 但它确实在标
  • 如何删除联系人?

    我正在使用 android 2 1 ContactContract 当我没有将帐户 例如 gmail 帐户 设置为 android 模拟器时 新建一个联系人 但无法在数据库中删除该联系人 ArrayList
  • 添加包含订单计数的列

    如何向数据框中添加一列来说明另一列中某个值出现的顺序计数 这就是我想要的结果 Fruit orderCount 1 Orange 1 2 Banana 1 3 Orange 2 4 Apple 1 5 Orange 3 6 Banana 2
  • 将文本渲染到 kivy 画布

    我正在尝试在奇异的 画布 中绘制自己的图形 现在我有一个红色或绿色的矩形 每秒改变一次颜色 但我想添加一个变化的文本标签 经过一番搜索后 似乎没有可以添加到画布的 文本 指令 我发现了一些关于使用 Label 小部件以及画布说明的参考 但这
  • 有没有替代 imread 命令来减少 matlab 程序中的延迟?

    我在此路径 G newdatabase 中有 2900 个图像 读取图像花费了太多时间 对于点积 它也花费了太多时间 问题 1 是否有任何替代 imread 命令来提高性能 2 是否有任何替代点命令可以提高性能 我尝试过的源代码 srcFi
  • 为什么windows第一次打开文件那么慢,有没有更快的方法

    这是 Windows 7 64 位 专业版使用 考虑一个非常简单的循环 for i 0 i lt names gt size i std string Name names gt at i HANDLE fileHandle CreateF
  • 使用 MAMP 在 Mac 上出现“db: SQLSTATE[HY000] [2002] 连接被拒绝”错误

    我正在尝试运行此 PHP 数据库的 CLI 版本搜索和替换脚本 https github com interconnectit Search Replace DB 但我认为这是一个与 Mac OS X 和 MAMP 相关的更常见的 MySQ
  • 如何使用 Errai 将 GWT 与 JAX-RS/RESTEasy 服务器集成?

    我想从 GWT 客户端应用程序调用使用 RESTEasy 和 JAX RS 创建的 REST 服务 使用 Errai 为服务器和客户端使用单一代码库的最佳流程是什么 我们都喜欢休息 它与供应商 平台和语言无关 调试 实施和访问都很简单 它为
  • Spring和hibernate:没有找到当前线程的会话

    我收到以下错误 org hibernate HibernateException No Session found for current thread at org springframework orm hibernate4 Sprin
  • 连接两个表后的 SQL 更新

    我是 SQL 新手 正在使用 Microsoft SQL Server Management Studio 我正在尝试编写一个 SQL 语句 在连接两个表后执行更新 我有两张桌子 myTable1 and myTable2 两者共享一个领域
  • CSS 不透明度如何影响可访问性?

    在浏览了一些谷歌和其他 SO 文章后 我决定简单地提出我的问题 希望得到一个简单 直接的答案 为讨论添加进一步的步骤opacity 0 与visibility hidden 的效果完全相同吗 https stackoverflow com
  • Flex ModuleLoader 组件导致内存泄漏。如何正确卸载模块?

    该应用程序太大 无法在此描述 但我可以告诉您 我有多达 20 个或更多模块可供客户端随时使用 如果我继续加载一个又一个屏幕 我的应用程序可能会占用 500MB 甚至更多 我用来加载和卸载模块的脚本是 public function crea
  • 静态函数中不可访问非静态成员

    我定义了一个函数 HRESULT AMEPreviewHandler CreateHtmlPreview ULONG CbRead const int Size 115000 char Buffer Size 1 HRESULT hr m
  • 检测其他 UIView 中是否触摸了某个 UIView

    我有 3 个 UIView 分层在一个大 uiview 之上 我想知道用户是否触摸了最上面的一个而不关心其他的 我将在第二个 UIView 中有几个按钮 在第三个 UIView 中有一个 UITable 问题是我在第一个视图上打开 user
  • 我可以在 LINQ 查询中使用扩展方法吗?

    我有以下代码 public QuestionDetail GetQuestionDetail int questionId Question question questionsRepository GetById questionId Q
  • SpringBoot不处理org.hibernate.exception.ConstraintViolationException

    我在实体类中定义了一个用于验证电子邮件的模式 在我的验证异常处理程序类中 我添加了 ConstraintViolationException 的处理程序 我的应用程序使用 SpringBoot 1 4 5 配置文件 java Entity
  • 如何访问 WPF Canvas 类的子级?

    如何访问 WPF Canvas 类的子级 这是一门很酷的课程 我喜欢你添加孩子的方式 但是一旦它们存在 您如何查看它们以阅读它们的状态和内容 我知道如果将孩子放在 XAML 中会很容易 但是 如果您在运行时动态地将子项添加到画布中该怎么办
  • CSS 边框混乱

    只是困惑为什么当悬停在 border bottom 时 边框与内容配合得很好 但当更改为 border top 时 它会向下推内容 这是代码 ul list style type none margin 0 padding 0 width
  • 有什么方法可以判断用户的python环境是否是anaconda

    我正在分发一个内部 python 库 如果用户在运行此文件时使用 anaconda 则将自动更新库的依赖项 这是应要求提供的 如果由我决定 我会让用户控制他们自己的软件包 到目前为止 我想出了类似的东西 def user has conda