【问题标题】:Pyinstaller create non-working executable file (ImportError)Pyinstaller 创建非工作可执行文件 (ImportError)
【发布时间】: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


    【解决方案1】:

    我已经更新了 pandas 和 pyinstaller。

    pip install pandas --upgrade
    pip install pyinstaller --upgrade
    

    【讨论】:

      猜你喜欢
      • 2020-11-26
      • 2017-11-18
      • 2011-08-23
      • 2019-01-17
      • 1970-01-01
      • 2016-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多