安装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字符串==运算符是否比较引用?   java是否存在过太多的ListView或适配器?   json获取java中类路径中下载的文件   我可以用java代码解决数据库并发问题吗?   在多个线程中使用forEach()或使用forEach()和lambdas进行java集合迭代   java输出JFrame中的整个循环   java禁用高度详细的日志记录   java在没有特定属性的对象中访问模型的值   java Smack xmpp建立连接   处理过时域对象引起的并发问题的java策略(Grails/GORM/Hibernate)   java从ObservableList中提取元素   使用图像进行java相似图像搜索   java ListView和图像:我快疯了   在Java中,如何从毫秒时间戳中提取一天的周期?   java我需要这样的设计,但我面临两个问题   java如何获取JGoodies FormLayout中的单元格大小   Spring引导生成的java War文件未部署到Weblogic 12c