安装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第三方库


热门话题
java附加两个数组   java如何在Extjs的不同页面中使用相同的存储   java Jung,大顶点的布局重叠,图形出现在奇怪的位置   java如何在Android中通过画布绘制圆?   java验证库设计模式选择   java研磨机未知标记“timedTests”   java Android领域子类实例方法   java使用resteasy/jaxrs从请求负载接收两种类型的数据   缓冲策略Java缓冲策略有时不能正确绘制   java跟踪棋子   密度无关像素如何在java中锐化图像缩略图?   java如何在MongoDB更新查询中编写(或)更新   java A*寻路游戏系统退出问题   java在安卓中读取xml的最佳方式是什么?   通过反射调用的方法的java抑制警告   安卓 java。语言错误:信号11(SIGSEGV),代码10(?),故障地址006e006f   java lombok 1.18.2使用DexBuilderForDebug抛出TransformClasses   java JOptionPane CD对话框按钮?   java只返回json中的一些值,而不是完整实体对象   java包不存在错误,请稍后重试