在Python包安装中使用--home还是--prefix?
当你构建和安装一个Python包时,有两个选择:--home和--prefix。 我一直搞不清这两者有什么区别(我总是使用--home),但如果我没理解错的话,其中一个已经不推荐使用了,而另一个是“推荐的方式”™。
我错了吗?
1 个回答
4
根据安装Python模块的说明,"标准"的做法是不指定任何内容,让Python自动把模块安装到 *nix 系统的 /usr/local/lib/pythonX.Y/site-packages
或者Windows的 C:\Python\
目录下。
不过,如果你选择其他的安装方法,可以使用 --home
选项来指定基础安装目录。通常在你想把多个包放在自己的目录里时会用到这个选项,特别是在多用户的机器上你没有管理员权限,或者你只是想在系统范围安装之前先测试一下。 --home
这个选项并没有被淘汰;实际上,它是在Python 2.4版本时才加入到Windows中的。
--prefix
这个选项就比较特别了,因为它允许你用一个版本的Python来构建你正在安装的模块,同时可以把这个模块安装到一个不同的地方。举个例子,有时候你需要用一个名字写入一个目录,而用另一个名字读取它(有些网络共享就是这样设置的)。
所以,--home
选项会指定 home/lib/python
、home/bin
、home/share
,而 --prefix
选项则会在 *nix 系统上指定 prefix/lib/pythonX.Y/site-packages/
、prefix/bin
、prefix/share
,在Windows上则是 prefix/Scripts
和 prefix/Data
。