【发布时间】:2019-10-13 02:03:20
【问题描述】:
我通过 pyinstaller 在 PC 上使用 Win7 创建了 exe(单文件模式),它工作正常。我无法在另一台装有 Win8.1 的 PC 上启动可执行文件。程序启动,但在程序的某些部分我收到 ImportError。可执行文件使用我的 PC-Win7 中的 lib 路径。如何正确地将熊猫添加到exe并解决问题?提前致谢。
我发现了类似的已解决问题 Pyinstaller ImportError with scipy: DLL load failed,但不明白它如何应用于我的问题。
Pyinstaller 在 build-folder 中创建的 warn.txt 包含关于 pandas(尤其是关于 pandas.core.window):
missing module named pandas.factorize - imported by pandas (delayed, conditional), pandas.core.util.hashing (delayed, conditional)
missing module named pandas.unique - imported by pandas (delayed), pandas.core.arrays.base (delayed)
missing module named pandas.option_context - imported by pandas (top-level), pandas.io.clipboards (top-level)
missing module named pandas.NaT - imported by pandas (top-level), pandas.io.packers (top-level)
missing module named pandas.Period - imported by pandas (top-level), pandas.io.packers (top-level)
missing module named pandas.SparseDataFrame - imported by pandas (top-level), pandas.io.pytables (top-level)
missing module named pandas.SparseSeries - imported by pandas (top-level), pandas.io.pytables (top-level)
missing module named pandas.Int64Index - imported by pandas (top-level), pandas.io.feather_format (top-level), pandas.io.parquet (top-level), pandas.io.pytables (top-level), pandas.io.packers (top-level), pandas.core.dtypes.concat (delayed), pandas.core.algorithms (delayed)
missing module named pandas.RangeIndex - imported by pandas (top-level), pandas.io.feather_format (top-level), pandas.io.parquet (top-level), pandas.io.packers (top-level), pandas.core.dtypes.concat (delayed), pandas.util.testing (top-level)
missing module named pandas.Interval - imported by pandas (top-level), pandas.core.reshape.tile (top-level), pandas.io.packers (top-level)
missing module named pandas.Timedelta - imported by pandas (top-level), pandas.core.reshape.tile (top-level), pandas.core.reshape.merge (top-level)
missing module named pandas.Categorical - imported by pandas (top-level), pandas.core.reshape.tile (top-level), pandas.core.reshape.merge (top-level), pandas.io.packers (top-level), pandas.core.dtypes.concat (delayed), pandas.core.dtypes.cast (delayed, conditional), pandas.core.util.hashing (delayed, conditional), pandas.core.dtypes.common (delayed, conditional), pandas.util.testing (top-level)
missing module named pandas.concat - imported by pandas (delayed), **pandas.core.window (delayed, conditional), pandas.core.groupby.groupby (delayed, conditional), pandas.core.sparse.frame (delayed), pandas.io.pytables (top-level), pandas.core.strings (delayed)**
missing module named pandas.isna - imported by pandas (top-level), pandas.io.json.json (top-level), pandas.io.stata (top-level), pandas.io.pytables (top-level)
missing module named pandas.CategoricalIndex - imported by pandas (delayed), pandas.core.arrays.categorical (delayed), pandas.io.packers (top-level), pandas.core.dtypes.concat (delayed), pandas.util.testing (top-level)
missing module named pandas.Float64Index - imported by pandas (delayed), pandas.core.internals (delayed), pandas.io.packers (top-level)
missing module named pandas.Timestamp - imported by pandas (delayed), pandas.core.indexes.timedeltas (delayed), pandas.core.reshape.tile (top-level), pandas.io.packers (top-level)
missing module named pandas.DateOffset - imported by pandas (delayed), pandas.core.indexes.datetimelike (delayed)
missing module named pandas.Panel - imported by pandas (delayed), pandas.core.indexing (delayed), pandas.io.pytables (top-level), pandas.io.packers (top-level), pandas.util.testing (top-level)
missing module named pandas.MultiIndex - imported by pandas (top-level), pandas.core.reshape.concat (top-level), pandas.io.json.json (top-level), pandas.core.window (delayed, conditional), pandas.core.reshape.merge (top-level), pandas.io.formats.excel (top-level), pandas.core.reshape.pivot (delayed, conditional), pandas.io.pytables (top-level), pandas.io.packers (top-level), pandas.core.strings (delayed), pandas.core.util.hashing (delayed), pandas.util.testing (top-level)**
missing module named pandas.DataFrame - imported by pandas (delayed), pandas.core.accessor (delayed), pandas.core.reshape.concat (top-level), pandas.core.indexing (delayed), pandas.core.indexes.timedeltas (delayed), pandas.io.json.json (top-level), pandas.plotting._tools (delayed), pandas.plotting._core (delayed), pandas.core.indexes.multi (delayed), pandas.core.window (delayed, conditional), pandas.core.reshape.merge (top-level), pandas.io.feather_format (top-level), pandas.io.parquet (top-level), pandas.core.reshape.pivot (delayed), pandas.io.json.normalize (top-level), pandas.io.json.table_schema (top-level), pandas.io.pytables (top-level), pandas.io.packers (top-level), pandas.io.clipboards (top-level), pandas.core.generic (delayed, conditional), pandas.core.strings (delayed), pandas.core.indexes.base (delayed), pandas.core.base (delayed, conditional), pandas.core.tools.datetimes (delayed), pandas.util.testing (top-level)
missing module named pandas.Index - imported by pandas (delayed), pandas.core.algorithms (delayed, conditional), pandas.core.accessor (delayed), pandas.core.reshape.concat (top-level), pandas.core.indexes.datetimelike (delayed), pandas.core.arrays.categorical (delayed), pandas.compat.pickle_compat (top-level), pandas.core.window (delayed, conditional), pandas.core.reshape.merge (top-level), pandas.io.formats.excel (top-level), pandas.io.pytables (top-level), pandas.io.packers (top-level), pandas.core.strings (delayed), pandas.core.base (delayed), pandas.core.dtypes.concat (delayed), pandas.core.sorting (delayed), pandas.core.tools.datetimes (delayed, conditional), pandas.core.util.hashing (delayed, conditional), pandas.core.dtypes.dtypes (delayed), pandas.util.testing (top-level)
missing module named pandas.PeriodIndex - imported by pandas (delayed, conditional), pandas.core.algorithms (delayed, conditional), pandas.io.formats.excel (top-level), pandas.io.pytables (top-level), pandas.io.packers (top-level), pandas.util.testing (top-level)
missing module named pandas.DatetimeIndex - imported by pandas (delayed, optional), pandas.core.dtypes.cast (delayed, conditional, optional), pandas.core.algorithms (delayed, conditional), pandas.core.missing (delayed, optional), pandas.core.indexes.datetimelike (delayed, conditional), pandas.core.indexes.timedeltas (delayed), pandas.io.stata (top-level), pandas.io.pytables (top-level), pandas.io.packers (top-level), pandas.core.tools.datetimes (delayed), pandas.util.testing (top-level)
missing module named pandas.to_numeric - imported by pandas (delayed, conditional), pandas.core.dtypes.cast (delayed, conditional), pandas.core.arrays.categorical (delayed), pandas.core.tools.datetimes (delayed)
missing module named pandas.to_timedelta - imported by pandas (delayed, conditional), pandas.core.dtypes.cast (delayed, conditional), pandas.core.arrays.categorical (delayed), pandas.core.window (delayed, conditional), pandas.core.groupby.groupby (delayed, conditional), pandas.core.reshape.tile (top-level), pandas.io.stata (top-level), pandas.core.tools.datetimes (delayed)
missing module named pandas.TimedeltaIndex - imported by pandas (delayed, conditional), pandas.core.tools.timedeltas (delayed, conditional), pandas.core.algorithms (delayed, conditional), pandas.core.indexes.datetimes (delayed), pandas.io.pytables (top-level), pandas.io.packers (top-level), pandas.util.testing (top-level)
missing module named pandas.to_datetime - imported by pandas (delayed, conditional, optional), pandas.core.dtypes.cast (delayed, conditional, optional), pandas.core.arrays.categorical (delayed), pandas.io.json.json (top-level), pandas.core.groupby.groupby (delayed, conditional), pandas.core.reshape.tile (top-level), pandas.io.stata (top-level), pandas.io.pytables (top-level), pandas.core.generic (delayed, conditional)
missing module named pandas.Series - imported by pandas (delayed, conditional), pandas.core.dtypes.missing (delayed, conditional), pandas.core.tools.timedeltas (delayed, conditional), pandas.core.algorithms (delayed, conditional), pandas.core.missing (delayed), pandas.core.accessor (delayed), pandas.core.reshape.concat (top-level), pandas.core.indexing (delayed), pandas.io.formats.format (delayed), pandas.core.indexes.datetimes (delayed), pandas.core.arrays.categorical (delayed), pandas.io.json.json (top-level), pandas.plotting._core (delayed), pandas.core.indexes.multi (delayed, conditional), pandas.core.window (delayed, conditional), pandas.core.reshape.tile (top-level), pandas.core.apply (delayed, conditional), pandas.io.pytables (top-level), pandas.io.packers (top-level), pandas.core.generic (delayed, conditional), pandas.core.indexes.accessors (delayed), pandas.core.strings (delayed), pandas.core.indexes.base (delayed), pandas.core.base (delayed, conditional, optional), pandas.core.dtypes.concat (delayed), pandas.core.tools.datetimes (delayed, conditional), pandas.core.util.hashing (delayed), pandas.io.html (top-level), pandas.util.testing (top-level)
missing module named pandas.IntervalIndex - imported by pandas (delayed, conditional), pandas.core.dtypes.missing (delayed, conditional), pandas.core.indexes.category (delayed, conditional), pandas.core.reshape.tile (top-level), pandas.io.packers (top-level), pandas.util.testing (top-level)
missing module named pandas.get_option - imported by pandas (delayed), pandas.io.formats.console (delayed), pandas.io.parquet (top-level), pandas.io.clipboards (top-level)
我的规格文件:
# -*- mode: python -*-
block_cipher = None
a = Analysis(['Main.py'],
pathex=['C:\\Users\\Atlant\\Desktop\\myprog'],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False)
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
[],
name='MyProg',
debug=True,
bootloader_ignore_signals=False,
strip=False,
upx=False,
runtime_tmpdir=None,
console=True, icon='icon.ico')
带有 Win8.1 的 Tablet PC 在我的带有 Win7 的 PC 中使用了不正确的路径 (D:\Python\lib...):
我需要能够在任何装有 Windows 7 及更高版本的 PC 上启动可执行文件。
【问题讨论】:
标签: python python-3.x pandas pyinstaller