【问题标题】:How to install writable shared and user specific data files with setuptools?如何使用 setuptools 安装可写共享和用户特定数据文件?
【发布时间】:2020-05-26 06:15:37
【问题描述】:

我知道 package_data。但它适用于包内的只读数据。还是这个假设是错误的?如何安装共享或用户特定的可写数据?例如 Windows 上的 ProgramData 或 AppData。我也对 linux 的解决方案感兴趣。

【问题讨论】:

    标签: python linux windows setuptools


    【解决方案1】:

    您的假设对我来说似乎是正确的(包数据应该是只读)。对于可写数据:要么让用户选择一个目标目录,要么根据通用约定选择一个目录。但这不会发生在安装时。最好让您的库或应用程序在需要时检查这些共享目录和文件是否存在,如果不存在,则动态创建它们。

    例如,一个非常常见的约定是XDG Base Directory Specification。这两个项目可以帮助按照这个规范编写代码:

    【讨论】:

    • 对 site_data_dir("app", "company") 的调用返回 '/usr/share/gnome-xorg/app'。不是我所期望的。我在 ubuntu 上。
    • 即使这会返回合理的路径,我仍然不知道如何将它集成到我的 setup.py 文件中。
    • 然后使用许多可用功能中的另一个。结果是什么?
    • @MartinFehrs 这绝对不应该是您的安装脚本的一部分。在您的库或应用程序的代码中,检查这些共享​​>目录和/或文件是否存在,如果不存在则创建它们。
    • 我期望 /usr/share/app 或 /usr/local/share/app。当我调用 site_data_dir(appname, appauthor, multipath=True) 我得到一个路径列表,包括两者。但即使这两条路径也不是我想要的。我认为 /var/lib/app 是正确的目录,因为它是可写的。
    猜你喜欢
    • 2010-12-31
    • 2016-05-05
    • 1970-01-01
    • 2012-12-30
    • 2019-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-09
    相关资源
    最近更新 更多