在Python包安装中使用--home还是--prefix?

5 投票
1 回答
5761 浏览
提问于 2025-04-15 13:42

当你构建和安装一个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/pythonhome/binhome/share,而 --prefix 选项则会在 *nix 系统上指定 prefix/lib/pythonX.Y/site-packages/prefix/binprefix/share,在Windows上则是 prefix/Scriptsprefix/Data

撰写回答