使用distutils时data_files位置不正确
distutils 文档说明,当数据文件的目标目录是相对路径时,这些文件会相对于 sys.prefix
进行安装。在我的系统(Linux Mint)上,sys.prefix
是 /usr
;然而,数据文件却安装到了 /usr/local
。
我该如何解决这个问题,同时又不影响跨平台的支持呢?
3 个回答
0
首先,你需要查看你用来运行安装脚本的Python的sys.prefix。
其次,检查一下distutils的配置文件(一个是Python标准库目录下的distutils.cfg,虽然这个位置不太好,另一个是~/.pydistutils.cfg,最后还有一个是可选的setup.cfg,它跟在setup.py后面)。
0
你是在尝试 1) 安装别人的程序,还是 2) 自己写一个 setup.py 文件呢?
如果是 1),你在运行 python setup.py
的时候,有没有加上 --prefix=/usr/local
这个参数?如果加了,安装的前缀就会变成 /usr/local
,这样数据文件就会相对于这个路径进行安装。
如果是 2),那你可以查看一下 sys.prefix
和 sys.exec_prefix
的值(或者把你 setup.py 相关的部分发出来)。
2
这是一个关于Ubuntu或Linux Mint的问题,它们默认使用的是/usr/local
这个路径,而不是/usr
。