使用distutils时data_files位置不正确

2 投票
3 回答
625 浏览
提问于 2025-04-16 01:40

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.prefixsys.exec_prefix 的值(或者把你 setup.py 相关的部分发出来)。

2

这是一个关于Ubuntu或Linux Mint的问题,它们默认使用的是/usr/local这个路径,而不是/usr

[1] http://ubuntuforums.org/showthread.php?t=1121501

撰写回答