将 Python 项目打包成可输入参数的exe可执行文件 | 您所在的位置:网站首页 › python程序怎么做成exe › 将 Python 项目打包成可输入参数的exe可执行文件 |
目录 一、 Python 打包工具—Pyinstaller 下载命令 Pyinstaller的参数 二、Python 打包可执行exe文件 方法一:python虚拟环境下+打包的全过程: 第一种情况: python不带参数打包exe及调用方式 第二种情况: python带参数打包exe及调用方式 三、ico 图片生成 一、 Python 打包工具—PyinstallerPyInstaller 是一个可以将 Python 程序打包成一个独立可执行文件的软件包。它通过读取已经编写好的 Python 脚本,分析代码执行需要的模块和库,然后将其依赖库一同打包转成可以直接脱离于python环境下独立运行的程序,目前已经支持 在Windows、Linux 和 Mac OS 上运行。简单的理解就是,通过对程序脚本的打包(尤其是带有操作界面的程序),可以获得一个完整的软件。 下载命令 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyinstallerPyinstaller的参数 其中 Pyinstaller 命令的参数,其中 -F 参数代表制作独立的可执行程序。-w 是指程序启动的时候不会打开命令行。如果不加 -w 的参数,就会有黑洞洞的控制台窗口出来。此外,-w 参数在 GUI 界面时非常有用。-i就是指设置自己的图标图案,因为默认打包图片如下图所示。这个参数也可以写成 --icon=aiyc.ico 二、Python 打包可执行exe文件 方法一:python虚拟环境下+打包的全过程:conda 虚拟环境下 #创建虚拟环境 conda create -n aotu python=3.6 #激活虚拟环境 conda activate aotu #Pyinstaller打包 Pyinstaller -F -w -i apple.ico py_word.py(1)先根据现有的虚拟环境创建项目, 将代码复制进去, 第一种情况: python不带参数打包exe及调用方式(2)修改代码运行结果的展现方式:
(3)打开终端,运行代码 (venv) PS D:\my\python-pycharm\zx> cd path_recommend (venv) PS D:\my\python-pycharm\zx\path_recommend> pyinstaller -F -w get_shortest_distance.py pyinstaller -F -w -i g:\2345Downloads\logo.ico login.py --hidden-import doTest.py --hidden-import itemContent --hidden-import queryDB.py --hidden-import view.py --hidden-import Applications.py --hidden-import mainWindow.py解释:进入到cmd命令行中,然后cd到我们的项目代码所在的具体的目录,在项目代码所在的目录中,使用上述代码进行打包。 其中, -F :大写, 打包成一个exe文件;-w:小写,取消控制台显示;-i :小写,忽略打包过程中遇到的错误,就是遇到错误也继续执行;从这个项目文件目录安排上可以看出,这里没有在项目里放置更多的文件夹,一些代码文件都是散放在主文件夹中,在 pyinstaller -F -w -i之后放的是我们需要最终显示的图标的绝对路径,之后的第一个Python文件就是这个项目的主文件,之后使用--hidden-import导入这个项目中的一些其他的Python文件。 下面是打包命令执行后程序打包的编译过程,具体如下: 最后会显示打包成功。
(3)执行完毕之后,会生成几个文件夹,如下图所示。 在dist里面就有了一个exe程序,这个就是可执行的exe程序,如下图所示。 从上图中,我们可以看到最后打包成功了,打包成功之后会在当前目录下生成两个文件夹,我们的EXE文件就在dist文件夹中。 已经生成了一个exe 应用程序,看来已经成功一半了。 (4)我们把这个get_shortest_distance.exe拖到和get_shortest_distance.py平级的目录,双击运行一下这个exe。 (5)双击生成的exe文件,就可以看到新生成的txt结果文件了。 欧克。 第二种情况: python带参数打包exe及调用方式参考python带参数打包exe及调用方式_Python-考高分网 一般打包都是使用pyinstaller -F -w xxx.py,传入参数之后没有任何提示和print。可以使用sys进行传参。换成 pyinstaller -F xxx.py即可。 (2) 修改代码运行结果的展现方式: if __name__ == '__main__': V = list([i for i in range(0, 315)]) E = main_distance('data/tw_315_with_dis.csv') graph = { 'V': V, 'E': E } start_node = sys.argv[1] end_node = sys.argv[2] print("起点:", start_node, "终点:", end_node) # start_node, end_node = 1, 60 path, sum_coss = get_shortest_distance(start_node, end_node, graph) stri = "节点" + str(start_node) + "到节点" + str(end_node) + "的最短路径为:" + str(path) + "\n总距离为:" + str(sum_coss) print(stri) with open('result.txt', 'w', encoding='UTF-8') as file: file.write(str(stri)) output = os.popen('get_shortest_distance.exe arg1 arg2').read()(3)打开终端,运行命令,生成dist文件夹下的exe应用程序。 pyinstaller -F get_shortest_distance.py把这个get_shortest_distance.exe拖到和get_shortest_distance.py平级的目录, (4)在pycharm的终端输入运行exe命令, (venv) PS D:\my\python-pycharm\zx\path_recommend> .\get_shortest_distance.exe 1 60 起点: 1 终点: 60 节点1到节点60的最短路径为:[1, 0, 8, 9, 12, 14, 16, 19, 297, 298, 299, 300, 302, 304, 305, 303, 301, 296, 18, 17, 15, 295, 293, 291, 288, 287, 285, 282, 281, 279, 306, 307, 308, 309, 311, 314, 13, 11, 10, 4 24, 30, 31, 32, 33, 35, 38, 39, 41, 42, 43, 45, 47, 48, 52, 55, 58, 53, 60]同样,在cmd中输入命令也是一样的, 欧克。 三、ico 图片生成自己做的软件都喜欢放上自己的图标,不过哪来那么多 ico 图片呢?一个是可以找专门的 ico 图片网站,不过都很小众,图片库也很小。另一个是可以自己生成,这里就给大家分享一个网站,可以把其他格式图片转成 ico 格式:在线图片转icon格式 – 图片转换成icon在线工具 – 迅捷PDF转换器在线免费版 |
CopyRight 2018-2019 实验室设备网 版权所有 |