【发布时间】:2015-06-19 09:20:41
【问题描述】:
所以我在谷歌上搜索了一个 pip 需要 sudo 权限的事件,我遇到了以下两个线程 What are the risks of running 'sudo pip'? 和 Is it acceptable & safe to run pip install under sudo?
第一个线程讨论了使用 pip 运行未知 .py 文件的安全风险(有道理),但从第二个线程我几乎得到的印象是存在一个全局和本地 python 安装,你不应该混淆.我想这是有道理的,你可以为所有用户进行全局安装,然后为每个用户添加一个本地包的附加路径,但这是真的吗? (这也是有道理的,因为 ubuntu(我正在使用)依赖于某些 python 包,所以拥有一个全局根保护的 python 目录可以保护这些)。但是,如果这是真的,我找不到两个单独的目录。我试过了
import sys
print(sys.path)
同时使用 sudo 和不使用 sudo,我得到了完全相同的目录。
无论如何,我想我会转向 pip virtualenv,但在这种情况下,我想知道,如果我不小心忘记激活环境并在外面运行一个奇异的 requirements.txt 会发生什么?那不会破坏我努力保持清洁的标准用户目录(如果是这样,那是可恢复的吗?我只是在想,它只是忘记输入一个突击队员,然后你的 python 安装就搞砸了.)
【问题讨论】:
-
它相当简单:不要忘记激活你的 virtualenv。是的,如果你运行一个奇异的 requirements.txt,它可能会污染你的 python 安装。开始项目之前的第一步是创建一个单独的文件夹,并在其中创建一个带有所需 python 版本的 virtualenv。
-
我只是在想,它只是忘记输入一个命令,然后你的 python 安装就搞砸了。 不是真的。您现在可能很清楚,您不应该将 sudo 与 pip 一起使用,以避免破坏您的 system-wide Python 安装。如果您不将 sudo 与 pip 一起使用,那么无论您安装什么,都不会弄乱您的系统。另外,您可能想阅读我最近添加到我的答案中的this 信息。
标签: python virtualenv requirements.txt