程序猿可能都有这样的经历:编写完成的python程序,在自己的pyhtonIDE或pycharm或adnaconda中运行很正常,但使用pyinstaller打包生成exe文件后,会有这样那样讲不清的怪问题,需要花很多时间baidu或csdn去找解决办法。
如果你只是在自己电脑的供其他程序调用,那么有一个简单的办法,就是使用命令行解释运行,且可以指定不显示窗口。
第一步,用记事本建立一个cmd或bat文件,我喜欢用cmd扩展名。(假设路径为D:\software\auto.cmd)内容如下:
@echo off
C:\Users\admin\PycharmProjects\pythonProject\venv\Scripts\python.exe C:\Users\admin\PycharmProjects\pythonProject\main.py
这样就行了!其他程序可以直接调用这个D:\software\auto.cmd文件。缺点是开始运行时,有一个CMD窗口闪一下。如果你感觉不爽,那么继续第二步……
第二步,在同一目录下,再用记事本建立一下扩展为vbs的文件(假设路径为D:\software\auto.vbs)。内容如下:
createobject("wscript.shell").run "D:\sofeware\auto.cmd", 0
其他程序直接调用这个D:\software\auto.vbs文件,就不会再显示任何窗口了,而程序执行过程不会报错。
说明:如果你的程序是在pycharm环境中编写的,那么你应该指定象我上面那样路径下的python.exe,而不要指向原始的python安装目录下的python,因为那里你可能没有pip install 一些模块,你只在pycharm中安装了。
简言之,原始的pythonIDE环境和pycharm的python环境是相对独立的,确实有点操蛋……好象anaconda就简单多了。但我听说新手用anaconda,老手都用pycharm,我也就用pycharm了,以让自己觉是自己是个老手^.^