【发布时间】:2010-07-22 07:40:58
【问题描述】:
distutils documentation 指定当 data_files 的目标目录是相对路径时,文件将相对于sys.prefix 安装。在我的系统(Linux Mint)上,这是/usr;但是,data_files 将安装到 /usr/local。
如何在不失去跨平台支持的情况下更正此问题?
【问题讨论】:
distutils documentation 指定当 data_files 的目标目录是相对路径时,文件将相对于sys.prefix 安装。在我的系统(Linux Mint)上,这是/usr;但是,data_files 将安装到 /usr/local。
如何在不失去跨平台支持的情况下更正此问题?
【问题讨论】:
这是与 Ubuntu / Linux mint 相关的问题,它们默认为 /usr/local 而不是 /usr。
【讨论】:
您是在尝试 1) 安装其他人的程序还是 2) 自己编写 setup.py?
如果 1),您在调用 python setup.py 时是否附加了 --prefix=/usr/local?如果是这样,安装前缀将变为/usr/local,数据文件将相对安装。
如果是 2),请检查 sys.prefix 和 sys.exec_prefix 的值(或发布 setup.py 的相关部分)。
【讨论】:
首先,您应该检查用于运行设置脚本的 Python 的 sys.prefix。
其次,查看distutils配置文件(一个是Python标准库目录下的distutils.cfg(哎呀,我知道),另一个是~/.pydistutils.cfg,最后一个是setup.py后面的可选setup.cfg )。
【讨论】: