【问题标题】:How to detect Meego/Maemo platform in Python?如何在 Python 中检测 Meego/Maemo 平台?
【发布时间】:2011-07-11 00:20:40
【问题描述】:

我使用 python (PySide) 为 Maemo/Meego/Linux 平台开发跨平台应用程序。 我使用一种解决方法来区分 Maemo 和 Linux 平台:

try:
    import PySide.QtMaemo5
    PLATFORM = 'maemo'
except ImportError:
    PLATFORM = 'desktop'

有谁知道如何检测 Meego 平台或检测 Maemo 平台的更好方法?

【问题讨论】:

    标签: python cross-platform maemo pyside meego


    【解决方案1】:

    拳法:使用平台模块,对于Maemo:

    >>> import platform
    >>> platform.machine()
    'armv71'
    >>> platform.node() ## This is Host Name, not a safe method
    'Nokia N900'
    

    由于平台至少对 Maemo 没有帮助,我推荐第二种(更安全)的方式:使用 /etc/issue:

    issue = open('/etc/issue').read().strip().lower()
    if issue.startswith('maemo'):
      ....
    

    【讨论】:

      【解决方案2】:

      长期以来,人们一直在讨论如何确定您的软件在哪个特定发行版上运行,但没有一个非常令人满意的答案。有很多技巧可以做到这一点,但最有用的可能是使用名为“lsb_release”的 Linux 标准库工具。

      它包含在 MeeGo 中,你可以这样使用它;

      $ lsb_release -a

      哪个产生;

      LSB 版本::core-3.1-arm:core-3.1-noarch:core-3.2-arm:core-3.2-noarch:core-4.0-arm:core-4.0-noarch:desktop-3.1-arm:desktop -3.1-noarch:desktop-3.2-arm:desktop-3.2-noarch:desktop-4.0-arm:desktop-4.0-noarch 经销商编号:MeeGo 说明:MeeGo 发布 1.1.90 (MeeGo) 发布:1.1.90 代号:MeeGo

      在我的图像上。如果您只想要发布,您可以执行“lsb_release -r”。

      很遗憾,Maemo 不关注 Linux 标准库,请参阅此 bug:https://bugs.maemo.org/show_bug.cgi?id=10756 所以你可能不得不在 Maemo 上使用 /usr/bin/osso-product-info。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-05-24
        • 2015-05-18
        • 2012-02-20
        • 2020-09-28
        • 2012-04-02
        • 2019-01-19
        • 1970-01-01
        • 2014-02-01
        相关资源
        最近更新 更多