Python 使用 py2app 构建的应用缺少 _sysconfigdata
Python app built with py2app missing _sysconfigdata
我正在尝试使用 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
似乎没有帮助。解决此问题的最佳方法是什么?
我发现如果我将 PACKAGES
列表编辑为
,这个问题就会消失
PACKAGES = PACKAGES = ["pyne", "_sysconfigdata"]
我猜 py2app 并没有意识到 _sysconfigdata
是一个重要的模块。
我正在尝试使用 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
似乎没有帮助。解决此问题的最佳方法是什么?
我发现如果我将 PACKAGES
列表编辑为
PACKAGES = PACKAGES = ["pyne", "_sysconfigdata"]
我猜 py2app 并没有意识到 _sysconfigdata
是一个重要的模块。