【问题标题】:Is it safe to install non python packages (java updates, c++ updates) in an Anaconda virtual environment?在 Anaconda 虚拟环境中安装非 python 包(java 更新、c++ 更新)是否安全?
【发布时间】:2019-11-19 21:17:25
【问题描述】:

我在 MacOS 上运行 Anaconda,我有多个虚拟环境用于不同版本的 Python、TensorFlow、Pytorch 等...

最近我尝试安装 Auto-Keras 并从源代码构建 Tensorflow(每个都在一个单独的虚拟环境中),并且在这两种情况下它都要求我更新一堆 C++ 东西(SWIG、gcc、..) ,一个新的java版本,除其他外,偶尔它会在过程中途询问我的root密码。

使用 Python 风格 pip install <lib> 我一直认为在给定的虚拟环境中做任何我想做的事情是安全的,因为它容器化依赖项和包并安装在其他虚拟环境中的整个要点不会被破坏.

但在这种情况下,我很担心,因为:

a) 它们不是使用 pip 或 conda 安装的

b) 它不断要求我输入我的管理员密码并更改全局配置,如 Java 视觉等......

除了 python 包之外的其他包是否以与 Python 包在虚拟环境中相同的方式“容器化”?

如果不是,我是否会冒险升级 C++、SWIG、Java 等...?

【问题讨论】:

标签: python tensorflow dependencies anaconda virtualenv


【解决方案1】:

首先,虚拟环境没有给你任何保护:) 它只是修改了PATH 环境变量。即使使用 Python 包,您也不在安全的沙箱中。 pip install xxx 将执行 setup.py,这也可能引入恶意软件。

其次,是的,他们正在向您请求 sudo 权限,这绝对是危险的。但是你仍然可以相信值得信任的人。毕竟,你还是用第三方操作系统,而不是自己创建?

【讨论】:

  • 抱歉,我在使用 'safe' 时没有表达清楚。我的意思是安全的,我不会破坏根目录或其他 virtualenv 中的依赖关系。
  • @AlexKinman 在这两个场景中,虚拟环境都不安全。如果包裹遵守规则,它是安全的。如果没有,即使它是 Python 包,它仍然很危险。此外,conda install xxx 还可能不仅破坏您的 Python 环境,还破坏您的整个系统环境。所以总而言之,纠正你是有风险的(如果你相信一个不值得的人)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-19
  • 2023-03-26
  • 2022-01-22
  • 2021-02-11
  • 2018-08-04
  • 2019-01-20
相关资源
最近更新 更多