【问题标题】:Python app built with py2app missing _sysconfigdata使用 py2app 构建的 Python 应用缺少 _sysconfigdata
【发布时间】:2020-04-02 15:17:22
【问题描述】:

我正在尝试使用 py2app 在 MacOS(它依赖于一些旧代码)上构建一个独立的 Python 2.7 应用程序。我的程序依赖于许多包,包括pyne。该程序使用 conda 环境进行包管理(位于单独的目录中),我正在尝试使用该环境构建程序。该应用程序由 py2app 构建得很好,但是当我通过终端运行它时,它会引发以下错误:

  File "material.pyx", line 28, in init pyne.material
  File "tables/__init__.pyc", line 142, in <module>
  File "tables/tests/__init__.pyc", line 22, in <module>
  File "tables/tests/common.pyc", line 27, in <module>
  File "pkg_resources/__init__.pyc", line 959, in <module>
  File "pkg_resources/__init__.pyc", line 963, in Environment
  File "pkg_resources/__init__.pyc", line 190, in get_supported_platform
  File "pkg_resources/__init__.pyc", line 395, in get_build_platform
  File "sysconfig.pyc", line 618, in get_platform
  File "sysconfig.pyc", line 482, in get_config_vars
  File "sysconfig.pyc", line 365, in _init_posix
ImportError: No module named _sysconfigdata

在我的系统中环顾四周,看起来有问题的_sysconfigdata 文件位于

/anaconda3/envs/ENVIRONMENT_NAME/lib/python2.7/_sysconfigdata.py

我的setup.py 文件如下所示:

    from setuptools import setup

    APP = ['app.py']
    DATA_FILES = ["file1.csv", "folder1"]
    PACKAGES = ["pyne"]
    OPTIONS = {"packages": PACKAGES}

    setup(
        app=APP,
        data_files=DATA_FILES,
        options={'py2app': OPTIONS},
        setup_requires=['py2app'],
        name="NAME",
        include_package_data=True,
    )

我对使用 py2app 还是很陌生,我无法弄清楚如何在程序中包含这个 _sysconfigdata 文件。将其添加到 DATA_FILES 似乎没有帮助。解决此问题的最佳方法是什么?

【问题讨论】:

  • 尝试重新安装python 2.7。它应该可以工作,但请确保在 python website! 上进行

标签: python config py2app package-management


【解决方案1】:

我发现如果我将PACKAGES 列表编辑为

PACKAGES = PACKAGES = ["pyne", "_sysconfigdata"]

我猜 py2app 并没有意识到 _sysconfigdata 是一个重要的模块。

【讨论】:

    猜你喜欢
    • 2018-09-21
    • 2016-02-04
    • 2011-05-16
    • 2014-02-17
    • 1970-01-01
    • 1970-01-01
    • 2020-08-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多