Python sudopip安装VS pip安装--用户
我不记得我在哪里读到过这篇文章,但无论是在这里的某个地方,还是在我下面的一篇教程的评论中,一个人说: “永远不要使用sudo pip安装;你可以在不知情的情况下覆盖重要内容。请改用pip安装--user!'Python sudopip安装VS pip安装--用户,python,pip,sudo,Python,Pip,Sudo,我不记得我在哪里读到过这篇文章,但无论是在这里的某个地方,还是在我下面的一篇教程的评论中,一个人说: “永远不要使用sudo pip安装;你可以在不知情的情况下覆盖重要内容。请改用pip安装--user!' 我看到很多关于sudo-pip-install的引用,所以这个人知道他们在说什么吗?我应该避免,或者 sudopip安装可能意味着您希望在系统范围内安装软件包。对于某些软件包,如VirtualEnvrapper,这可能很有用,但除此之外,我会避免安装系统范围的软件包,并为每个应用程序创建一个
我看到很多关于sudo-pip-install的引用,所以这个人知道他们在说什么吗?我应该避免,或者 sudopip安装可能意味着您希望在系统范围内安装软件包。对于某些软件包,如VirtualEnvrapper,这可能很有用,但除此之外,我会避免安装系统范围的软件包,并为每个应用程序创建一个virtualenv,并将pip安装到该virtualenv(无需sudo即可完成) 在python安装中全局安装包,即为所有用户安装
$ pip install --user
安装到本地用户目录,即~/.local/lib/python——仅限您
例如:
$ sudo pip install jupyter
$ jupyter notebook
将运行jupyter,打开web浏览器,允许您使用笔记本电脑
$ pip install --user jupyter
$ jupyter notebook
在将本地目录添加到路径之前,不会执行任何操作
pypi中最近包含恶意代码。切勿使用sudo与pip一起安装。这与以root身份运行病毒相同。将本地文件夹添加到路径或使用virtualenv。理论上,恶意软件包可以通过setup.py文件中指定的各种指令安装/读取/修改/删除其有权访问的任何文件。使用sudo安装可扩大可修改的文件/位置的数量。基本上,您允许未录制的代码根访问您的系统。实际上,当安装来自可信作者的软件包时,您不太可能被烧坏——至少不会比从发行版的软件包管理器安装软件包更容易受到攻击。也就是说,
--user
开关是可用的,应该认真考虑。我已经无数次使用sudo-pip,但从未遇到过问题,一旦你相信源代码,我就不会担心它了。相关:对于任何感兴趣的人,对于一个类似的问题有一个很好的答案@jedwards我相信jedwards对于为什么人们不建议这样做有一个正确的想法。我在一个专心致志的服务器上工作,所以系统范围应该不会有问题。话虽如此,我仍然在使用--user,希望有一个更可靠的答案。
$ pip install --user jupyter
$ jupyter notebook