目前,我正在使用自动工具来构建/安装和打包我的项目,但是我真的很想迁移到感觉更“ pythonic”的地方。
我的项目包含两个脚本,一个模块,两个glade GUI描述和两个.desktop文件。它目前是一个纯python项目,尽管很快就会改变。
查看setuptools,我可以轻松地看到如何处理除.desktop文件以外的所有内容。它们必须以特定目录结尾,以便Gnome可以找到它们。
首先使用Distuils / setuptools是个好主意吗?
我设法使它起作用,但在我看来,这更像是一种 解决方法 。
不知道什么是处理此问题的首选方法…
我使用了以下setup.py
文件(完整版本在这里):
from setuptools import setup
setup(
# ...
data_files=[
('share/icons/hicolor/scalable/apps', ['data/mypackage.svg']),
('share/applications', ['data/mypackage.desktop'])
],
entry_points={
'console_scripts': ['startit=mypackage.cli:run']
}
)
入门脚本槽entry_points
有效。但是,data_files
何处放置了egg文件,而不是在指定的文件夹中,因此台式机外壳无法访问它们。
要解决此问题,我使用了以下setup.cfg
文件:
[install]
single-version-externally-managed=1
record=install.txt
这有效。这两个数据文件都在正确的位置创建,并且.desktop
Gnome可以识别该文件。