使用 distutils 的 data_files 位置不正确
distutils 文档 指定当 data_files 的目标目录为相对路径,文件将相对于 sys.prefix 进行安装。在我的系统(Linux Mint)上,这是 /usr
;但是,data_files 而是安装到 /usr/local
。
如何在不失去跨平台支持的情况下纠正此问题?
The distutils documentation specifies that when the target directory for data_files is a relative path, the files will be installed relative to sys.prefix
. On my system (Linux Mint), this is /usr
; however, the data_files are instead installing to /usr/local
.
How can I correct this without losing cross-platform support?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
首先,您应该检查用于运行安装脚本的 Python 的 sys.prefix。
其次,检查distutils配置文件(一个是Python标准库目录下的distutils.cfg(哎呀,我知道),另一个是~/.pydistutils.cfg,最后一个是setup.py后面可选的setup.cfg)。
First, you should check the sys.prefix for the Python you use to run the setup script.
Second, check distutils configuration files (one is distutils.cfg in the Python standard library directory (yuck, I know), another is ~/.pydistutils.cfg, the last is the optional setup.cfg that follows setup.py).
这是一个与 Ubuntu / Linux mint 相关的问题,它们默认为
/usr/local
而不是/usr
。[1] http://ubuntuforums.org/showthread.php?t=1121501
This is an Ubuntu / Linux mint related issue, they default to
/usr/local
instead of/usr
.[1] http://ubuntuforums.org/showthread.php?t=1121501
您是否尝试 1)安装其他人的程序或 2)自己编写 setup.py?
如果 1),您在调用
python setup.py
时是否附加--prefix=/usr/local
?如果是这样,安装前缀将变为/usr/local
,数据文件将相对安装到该前缀。如果是 2),则检查 sys.prefix 的值 &
sys.exec_prefix
(或发布 setup.py 的相关部分)。Are you trying to 1) install someone else's program or 2) write a setup.py yourself?
If 1), are you appending
--prefix=/usr/local
when invokingpython setup.py
? If so, installation prefix will become/usr/local
, to which the data files will be installed relative.If 2), check out the value of
sys.prefix
&sys.exec_prefix
(or post the relating part of your setup.py).