【问题标题】:Compiling python using PyInstaller throws many WARNINGS使用 PyInstaller 编译 python 会引发许多警告
【发布时间】:2020-06-13 14:10:09
【问题描述】:

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

每当我尝试实际使用命令 pyinstaller --onedir map.spec 时就会出现问题,其中 map.spec 是我的脚本的规范文件,包含在此处:


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')

每当我尝试运行 pyinstaller 时,都会出现几个此类警告:

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

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

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

我的脚本使用这些导入:

import sys
import os
import turtle
import time

这是一个绘制东西的海龟脚本。我还操作了我作为数据包含的不同 txt 文件,以便它们与最终的 exe 一起导出(至少我是这么理解的)。

我可能遗漏了一些非常基本的东西,或者 pyinstaller 不支持最新的 Python,或者它只是无法找到我的 python38.dll(我添加了环境的路径)。

【问题讨论】:

  • 我还没有看到这个问题但是你有没有从 windows 商店安装 python?我认为这可能是一个问题。我建议从官方 python 网站下载 python 3.8 并尝试使用该 python 的 pyinstaller。
  • 这只是一个警告——生成的代码会运行吗?
  • 我从官网下载了python,但我今天也从windows store下载了一个。我将卸载所有这些并仅重新安装官方版本并回复您。感谢您的建议!
  • 生成的代码显示一个控制台大约 0.1 秒,然后立即自行关闭。当我尝试使用 cmd 运行它时,它会输出此错误:加载 Python DLL 'C:\Users\BGBSC\Desktop\untitled\dist\map\' 时出错。并且:LoadLibrary:找不到指定的模块。
  • @Har 是的!这解决了一切。非常感谢!

标签: python pycharm exe pyinstaller


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2011-08-20
    • 1970-01-01
    • 2016-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-23
    相关资源
    最近更新 更多