使用 distutils 的 data_files 位置不正确

发布于 2024-09-11 02:23:12 字数 301 浏览 5 评论 0原文

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

初雪 2024-09-18 02:23:13

首先,您应该检查用于运行安装脚本的 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).

失而复得 2024-09-18 02:23:12

这是一个与 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

只怪假的太真实 2024-09-18 02:23:12

您是否尝试 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 invoking python 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).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文