所以我正在尝试升级点子。当前在/ usr / bin中存在pip,但是当我使用“ pip install --upgrade pip”升级pip时,它将pip升级到/ usr / local / bin而不是/ usr / bin。无论如何,是否将pip安装保留在/ usr / bin中,并将所有pip库保留在/ usr / lib或/ usr / lib64等中?
答案 0 :(得分:3)
通常,以root身份运行pip
从来都不是一个好主意。您正在将文件安装到您的根目录中,而发行版的程序包管理器没有跟踪这些文件。
这听起来似乎并不那么糟糕,但是总的来说是这样,因为您的系统中充斥着可能与其他文件冲突的文件,并且可能很难清除。
Pip做正确的事,将自己在系统范围内安装到/usr/local
中。通常的约定是,程序包管理器会跟踪位于您自己的目录/etc
,/var
和local
系统目录之外的内容。
程序包管理器将覆盖这些目录之外的文件,而无需询问。 local
个系统目录的对应目录为您提供了在系统范围内进行安装的机会,而不会引起混乱。但是,在大多数情况下,有更好的方法可以做到这一点。
例如,Python的最佳方法是使用virtualenv
s。它们为您提供了一个隔离的环境,您可以激活该环境并将其安装到其中,包括最新版本的pip。
您还可以以用户身份(没有sudo)运行它,但是您必须将其bin
目录添加到$PATH
。
最好不要理会/usr/bin/pip
,否则可能会发生不好的事情。
要回答你的问题,如果你真的不能没有中有它/usr/bin
或virtualenv中,我很伤心地告诉你那里是点子没有这样的记录选项。但是,您有两种选择:
/usr/bin/pip
链接到/usr/local/bin/pip
。可以,但是从技术上讲,它仍将安装在/usr/local
中。另外,所有依赖于发行版pip
软件包的其他程序都必须删除。sudo python setup.py install --prefix=/usr
安装它。这会将其放置在/usr/bin
中,但是您应该为此感到难过。尽管如此,我真的不能足够强调。