当前位置: 首页 > 面试题库 >

如何在Gnome中使用distutils或setuptools分发Python包的.desktop文件和图标?

路欣荣
2023-03-14
问题内容

目前,我正在使用自动工具来构建/安装和打包我的项目,但是我真的很想迁移到感觉更“ 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

这有效。这两个数据文件都在正确的位置创建,并且.desktopGnome可以识别该文件。



 类似资料: