使用PyInstaller编译python会引发许多警告

时间:2020-02-29 20:12:57

标签: python pycharm exe pyinstaller

我试图从我在PyCharm中编写的python脚本创建EXE文件。我正在使用最新版本的Python,并在virtualenv上使用PyInstaller。

每当我尝试实际使用命令import './zone-flags'; import 'zone.js/dist/zone'; // Included with Angular CLI. 且map.spec是脚本的规范文件(包括在此处)时,就会发生问题:

pyinstaller --onedir map.spec

每当我尝试运行pyinstaller时,都会出现这种类型的警告:


block_cipher = None

a = Analysis(['map.py'],
             pathex=['C:\\Users\\BGBSC\\Desktop\\untitled'],
             binaries=[],
             datas=[('nactiMapu.txt', '.'), ('nactiPohyb.txt', '.'), ('nactiZnacky.txt', '.'), ('a.txt', '.'), ('b.txt', '.'), ('c.txt', '.')],
             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,
          [],
          exclude_binaries=True,
          name='map',
          debug=False,
          bootloader_ignore_signals=False,
          strip=False,
          upx=False,
          console=True )
coll = COLLECT(exe,
               a.binaries,
               a.zipfiles,
               a.datas,
               strip=False,
               upx=True,
               upx_exclude=[],
               name='map')

每个对象都引用python38.dll,唯一的不同是它们“依赖”不同的模块。它还写了这一行,这也可能引起关注:

5447 WARNING: lib not found: python38.dll dependency of C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.8_3.8.752.0_x64__qbz5n2kfra8p0\DLLs\_tkinter.pyd

我的脚本使用以下导入:

5623 INFO: Python library not in binary dependencies. Doing additional searching...
5631 INFO: Using Python library

这是一个绘制某些东西的乌龟脚本。我还操纵了作为数据包括在内的不同txt文件 ,这样它们就可以与最终的exe一起导出(至少我是怎么理解的)。

我可能缺少一些非常基本的东西,或者pyinstaller不支持最新的Python,或者只是找不到我的python38.dll(我将路径添加到环境中)。

1 个答案:

答案 0 :(得分:1)

据说Windows Store python是实验性的,对于开发人员应该避免使用。 我建议开发人员从python.org下载和使用Python。