安装freedesktop.org应用程序图标的setuptools扩展

install-freedesktop的Python项目详细描述


安装kde、gnome或其他启动程序图标的setuptools扩展 与freedesktop.org兼容的Linux/Unix环境。

桌面入门规范: http://standards.freedesktop.org/desktop-entry-spec/latest/index.html

许可证

版权所有2015 Jacob Welsh

根据apache许可证2.0版(以下简称“许可证”)授权; 除非符合许可证,否则您不能使用此文件。 您可以在

http://www.apache.org/licenses/LICENSE-2.0

除非适用法律要求或书面同意,否则软件 根据许可证分发是按“原样”分发的, 无任何明示或默示的保证或条件。 有关管理权限的特定语言和 许可下的限制。

用法

安装此模块后(例如使用setup_requires 参数),将自动为每个 gui_scripts入口点。示例:

setup(
    ...
    setup_requires=['install_freedesktop'],
    entry_points={
        'gui_scripts': [
            'myapp=myapp:main',
        ],
    },
)

这将创建myapp.desktop,并将名称和图标键设置为“myapp” 并执行到脚本的完整路径。

若要自定义或为非基于入口点的脚本添加桌面文件,请传递 dict到desktop_entries参数,其中每个键都匹配一个脚本名 它的值是包含桌面输入键/值的dict。示例:

setup(
    ...
    setup_requires=['install_freedesktop'],
    scripts=['myscript'],
    desktop_entries={
        'myscript': {
            'Name': 'MyApp',
            'GenericName': 'Data Processor',
            'Categories': 'Office;Database;',
        },
    },
)

注释

支持全系统或--user模式安装,以及 --root=(用于包生成器)。但是setuptools默认基于鸡蛋 安装不起作用。(它不运行install_子命令;即使 是的,数据文件会放在egg中,而不是真正的数据目录中。 必须使用pip(推荐)或提供 --single-version-externally-managed选项,在命令行或 在setup.cfg中。轮子和任何其他可重定位的bdist格式也不会 工作,因为需要在桌面上使用exec的最终脚本路径 文件。

使用setup_requires参数有潜在的危险:如果包 找不到,将调用easyinstall从pypi获取它,即使 用户认为已禁用此项或选择了其他索引。见 https://pip.pypa.io/en/latest/reference/pip_install.html#controlling-setup-requires

目前没有图标文件的自动处理,尽管这是在范围内的 为了这个项目。手动操作的快速示例:

setup(
    ...
    data_files=[
        ('share/icons/hicolor/16x16/apps', ['icons/16x16/myapp.png']),
        ('share/icons/hicolor/48x48/apps', ['icons/48x48/myapp.png']),
        ('share/icons/hicolor/scalable/apps', ['icons/scalable/myapp.svg']),
    ],
)

更改

0.1.2(2015-02-01)

  • 简化子命令调用(希望更正确,不那么脆弱)

0.1.1(2015-01-26)

  • 在pypi的long_描述中使用自述文件/更改
  • 修复自述示例中的语法
  • 支持旧的设置工具(CentOS 6)

0.1.0(2015-01-26)

  • 初始版本

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
orm如何在Java中实现规范化映射?   java以编程方式修改Xtext生成的Mwe2工作流   java正在覆盖外部文件中的现有数据,如何停止?   java在ANTLR BNF语法符号中epsilon的等价物是什么?   java如何使用Hibernate@Anyrelated注释?   代码生成生成java类并在运行时加载它   java Maven无法在本地jar文件中收集依赖项   java NetBeans IDE 8.2不显示错误消息   java Selenium web驱动程序找不到元素   java如何修复“拒绝访问属性”invoke“”的权限?   JavaApacheJClouds,从比日期更早的blob中删除blob的最佳方法   java如何比较和排序树集中的项目?   使用JavaSpring和无头/解耦CMS   java使用swagercodegen在不同的类中生成端点   Java外部Keylistener没有响应