程序员的知识教程库

网站首页 > 教程分享 正文

打包调用win32api和configparser错误

henian88 2024-08-17 16:07:17 教程分享 7 ℃ 0 评论

运行环境:

OS: win10

Python: 3.10
做了一个在电脑上自动播放ppt,并不停定时前后翻页的python程序(用来测试笔记本电池使用时间),打包时遇到三个问题:

  • 运行pyinstaller提示不是内部或外部命令,也不是可运行的程序或批处理文件
    这个问题的关键是要理解运行逻辑,安装了pyinstaller以后,会有一个pyinstaller.exe,需要让系统能知晓这个exe文件所在位置。所以解决问题的关键是:
    1)确认已安装了pyinstaller,使用pip list查看,如果没有pip install pyinstaller
    2)直接全盘搜索pyinstaller.exe,这个文件所在路径会根据安装python的路径而变化,复制路径,像我电脑上就是这样:C:\Users\username\AppData\Roaming\Python\Python310\Scripts(其中username是你登录电脑的名称)
    3)在系统环境path中添加上述路径,这样在任意位置系统都可以识别这个命令

  • 在程序中import win32api,结果打包exe成功,但运行之后一直报错,提示"module 'pywintypes' isn't in frozen sys.path"
    最终解决方案是在代码中添加"import pywintypes",其实这个import完全是多余,但一定要加上这句,运行exe文件才能不报错

  • 在程序中使用了import configparser, 读取程序外的配置文件,但怎么都无法读取到正确的位置,用print语句发现exe运行时实际产生的程序运行路径是一个temp文件夹下面的临时路径,直接在程序里固定了配置文件路径后,运行正常。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表