python3.8与pyinstaller -w的配合问题 解决pywintype38.dll报错

时间:2024-03-31 21:10:26

pywintype38.dll not foundpython3.8与pyinstaller -w的配合问题 解决pywintype38.dll报错

pyinstaller报错,上次说到去掉-w参数,那是因为源代码程序只是命令行程序,不含窗口;
当含有窗口(GUI)程序时,就希望打包时使用-w参数,今天试打包一个简单的调用tkinter写的程序,打包过程中发现上面这种warning.
但仍然完成打包,打包后文件也能运行。
找到资料说这是python38的一个小bug,其实只要在代码前加一句调用即可:import pywintypes,win32api
再重新用pyinstaller打包,中间就没有警告了,很完美。

发现一个很容易坑人的事情,记录在案:
我用anaconda的jupyterlab来写和调试代码,但切记不可将jupyterlab的默认保存的.ipynb文件格式直接改为.py文件,我想当然这么做了,以为这个.py文件就是我见到的jupyterlab中的代码,其实只要另外打开那个.py文件,就会发现其实里面增加了很多内容,是与jupyterlab对源代码进行调试有关的……
由于我是新手小白,犯了这种低级错误。
记住,jupyterlab是用来分段调试代码的,其自动保存(默认保存)的格式文件中不仅仅含有源代码,还有多余的东西。故正确的方式,是在lab里面调试好之后,清除那些试运行的结果(显示),而将纯净的源代码复制黏贴到jupyternotebook或其他编辑器(比如notepad)中再保存为.py文件。