【问题标题】:Creating deb or rpm with setuptools – data_files使用 setuptools 创建 deb 或 rpm – data_files
【发布时间】:2015-09-02 08:13:56
【问题描述】:

我有一个 Python 3 项目。

MKC
├── latex
│   ├── macros.tex
│   └── main.tex
├── mkc
│   ├── cache.py
│   ├── __init__.py
│   └── __main__.py
├── README.md
├── setup.py
└── stdeb.cfg

在安装时,我想将我的乳胶文件移动到已知目录,比如/usr/share/mkc/latex,所以我告诉setuptools 包含数据文件

data_files=[("/usr/share/mkc/latex",
             ["latex/macros.tex", "latex/main.tex"])],

现在当我跑步时

./setup.py bdist --formats=rpm

./setup.py --command-packages=stdeb.command bdist_deb

我收到以下错误:

错误:无法复制“latex/macros.tex”:不存在或不是常规文件

只运行./setup.py bdist 工作正常,所以问题一定出在包创建中。

【问题讨论】:

标签: python python-3.x rpm setuptools deb


【解决方案1】:

在创建 deb 文件时(我猜 rpm 文件的数量相同),./setup.py --command-packages=stdeb.command bdist_deb 首先创建一个源分发并使用该存档进行进一步处理。但是您的 LaTeX 文件不包含在其中,因此找不到。

您需要将它们添加到源包中。这可以通过添加带有内容的MANIFEST.in 来实现:

recursive-include latex *.tex

distutils 从 3.1 版开始会自动将 data_files 包含在源代码分发中,而 setuptools 的工作方式显然非常不同。

【讨论】:

  • 它工作正常,我想我知道为什么。赏金是你的!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-12-29
  • 1970-01-01
  • 1970-01-01
  • 2015-03-18
  • 2015-10-25
  • 1970-01-01
  • 2015-12-19
相关资源
最近更新 更多