第一种方法:我们只会生成一个exe文件,因为所有的库文件他都会包含在这个exe文件中

1、安装:pyinstaller

pip install pyinstaller

2、使用如下命令编译

pyinstaller -F -w GraphCut.py

3、会在项目下生成文件:NewCutUI.spec。之后我们需要在文件里添加导入的包。

原始生成文件:

# -*- mode: python ; coding: utf-8 -*-

block_cipher = None

a = Analysis(['NewCutUI.py'],
pathex=['E:\\项目\\GraphCut\\graph_cut'],
binaries=[],
datas=[],
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,
a.binaries,
a.zipfiles,
a.datas,
[],
name='NewCutUI',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
upx_exclude=[],
runtime_tmpdir=None,
console=False ) 

修改后的文件:

# -*- mode: python ; coding: utf-8 -*-
from PyInstaller.utils.hooks import collect_submodules
block_cipher = None
hiddenimports_numpy = collect_submodules('numpy')
hidden_imports_PyQt4 = collect_submodules('PyQt4')
hiddenimports_graph_cut = collect_submodules('graph_cut')
hidden_imports_maxflow = collect_submodules('maxflow')
hidden_imports_argparse = collect_submodules('argparse')
hidden_imports_GraphMaker = collect_submodules('GraphMaker')
hidden_imports_cv2 = collect_submodules('cv2') block_cipher = None all_hidden_imports = hiddenimports_numpy + hidden_imports_PyQt4+hiddenimports_graph_cut + hidden_imports_maxflow + hidden_imports_argparse + hidden_imports_GraphMaker + hidden_imports_cv2 a = Analysis(['NewCutUI.py'],
pathex=['E:\\项目\\GraphCut\\graph_cut'],
binaries=[],
datas=[],
hiddenimports=all_hidden_imports,
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,
a.binaries,
a.zipfiles,
a.datas,
[],
name='NewCutUI',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
upx_exclude=[],
runtime_tmpdir=None,
console=False )

  

4、使用:pyinstaller.exe NewCutUI.spec 进行打包,其中你需要找到pyinstaller.exe文件位置,我的位置:D:\anaconda\Anaconda\envs\pytorch\Scripts\pyinstaller.exe

pyinstaller.exe E:\项目\GraphCut\graph_cut\NewCutUI.spec 

最后生成的exe文件目录:D:\anaconda\Anaconda\envs\pytorch\Scripts\dist\NewCutUI.exe

我在外面导包的时候经常遇到错误,所以直接在文件里面填了导包的内容。最后exe文件可能会很大,大概都是使用import这个方法导包,虽然我使用from * import *没小多少。

 第二种方法:他会把一些库的依赖生成dll动态链接库文件,所以dist下会有很多个文件。

如果上述方法出现 "failed to execute script”这个错误,我们可以使用下面这个方法,同样可以得到exe文件:

只需要执行这行代码就ok了:pyinstaller.exe  computer_S.py

你可以在当前目录下找到:../dist/computer_S/computer_S.exe文件

将python文件编译成exe文件的更多相关文章

  1. python程序编译成exe文件

    最近越来越喜欢使用python写工具.使用的时候,发现程序内部成员python安装目录常常不同,如果用bat双击执行,常常需要修改从svn上down下来的bat文件中python.exe的路径.而给策 ...

  2. 把python文件编译成exe文件

    我用的是py2exe. 下载地址http://sourceforge.net/projects/py2exe/files/py2exe/0.6.9/ 你可以根绝自己的Python版本选择适当的下载 我 ...

  3. Mac上把python源文件编译成so文件

    把python源文件编译成so文件 前言 实际上属于一种代码混淆/加密的技术,大家知道python的源文件放在那里,大家是都可以看的,不像C语言编译出来可以拿编译后的东西去运行,所以就出现了这种需求. ...

  4. C#.NET常见问题(FAQ)-如何将cs文件编译成dll文件 exe文件 如何调用dll文件

    比如我要把TestDLL.cs文件编译成dll文件,则在命令提示符下,输入下面的命令,生成的文件为TestDLL.dll csc /target:library TestDLL.cs 注意前提是你安装 ...

  5. C#.NET如何将cs文件编译成dll文件 exe文件 如何调用dll文件

    比如我要把TestDLL.cs文件编译成dll文件,则在命令提示符下,输入下面的命令,生成的文件为TestDLL.dll csc /target:library TestDLL.cs 注意前提是你安装 ...

  6. 把Python项目打包成exe文件

    我们很多时候,写好的程序需要打包成.exe文件才可以发给客户,那么今天我就来谈一谈,如何将一个写好的Python程序打包成exe文件! 首先,我们我们使用到的工具是python 3.7 和 Pyins ...

  7. 将 Python3 文件打包成 exe 文件

    我们用 Python 写好的代码,如何给别人在没有配置 Python 环境的情况下直接使用呢?尤其是面向 windows 众. 因为 Python 是一门解释性的语言,离开了 Python 解释器,P ...

  8. 用gulp把less文件编译成css文件

    第一次使用gulp构建工具,使用gulp将.less文件编译成.css文件并输出.根据视频做了笔记.提供新手和自己以后做参考. HTML文件 <!DOCTYPE html> <htm ...

  9. 在JAVA中将class文件编译成jar文件包,运行提示没有主清单属性

    在JAVA中将class文件编译成jar文件包,运行提示没有主清单属性 Maven 项目生成jar运行时提示“没有主清单属性” 新建了一个Maven的项目,mvn compile和mvn packag ...

  10. 【转载】将python脚本打包成exe文件

    exe文件也就是可以直接执行的文件.通常我们编好的带py后缀的脚本文件都是需要在有python的环境下执 行,每次通过Win + R打开运行窗口再输入powershell打开控制台,再千辛万苦地cd ...

随机推荐

  1. 神经网络之卷积篇:详解计算机视觉(Computer vision)

    详解计算机视觉 计算机视觉是一个飞速发展的一个领域,这多亏了深度学习.深度学习与计算机视觉可以帮助汽车,查明周围的行人和汽车,并帮助汽车避开它们.还使得人脸识别技术变得更加效率和精准,即将能够体验到或 ...

  2. AMD 驱动安装 error 192解决问题

    AMD 驱动安装 error 192解决问题 环境:win10专业版.自动更新已禁止.硬件安装设置[是](window自动下载驱动) [以下环境均在安全模式下进行 (win+r msconfig,安全 ...

  3. 【Hibernate】03 配置文件 & API

    映射器文件: - 字段的Column属性可以不写缺省,这将表示和实体类的属性标识一样 - type 属性用于声明表字段在Java中的类型,这个属性可不写缺省,自动匹配 Hibernate 4个核心AP ...

  4. SmolLM: 一个超快速、超高性能的小模型集合

    简介 本文将介绍 SmolLM.它集合了一系列最尖端的 135M.360M.1.7B 参数量的小模型,这些模型均在一个全新的高质量数据集上训练.本文将介绍数据整理.模型评测.使用方法等相关过程. 引言 ...

  5. Python网络连接request报错:OSError: [Errno 113] No route to host

    报错: (pytorch) devil@Monster:~$ huggingface-cli login _| _| _| _| _|_|_| _|_|_| _|_|_| _| _| _|_|_| _ ...

  6. Wetab新标签页:内置实用小组件的浏览器扩展,重新定义浏览器主页

    除了社交媒体,浏览器可能是我们日常工作.学习和生活中最常用的平台之一.然而,在使用浏览器的过程中,我们经常被书签管理.标签管理等问题所困扰.例如,书签栏混乱不堪,无法快速查找到所需书签. 为了和浏览器 ...

  7. 023.Ubuntu常见个性化配置

    root登录设置 ubuntu默认关闭了root账户,可根据实际情况开启或关闭root登录. ubuntu@localhost:~$ sudo apt install openssh-server u ...

  8. Linux中登录mysql

    输入 mysql -u root -p 然后输入密码,就能登录 root@zrt2:/home/zrt2# mysql -u root -pEnter password: Welcome to the ...

  9. 解密Prompt系列36. Prompt结构化编写和最优化算法UNIPROMPT

    上一章我们聊了标准化的Prompt生成方案DSPy,但DSPy还是更多依赖few-shot的Prompt编写范式,在纯任务描述型指令上的优化效果有限.这一章我们就重点关注描述性指令优化.我们先简单介绍 ...

  10. RDMA简介

    RDMA(Remote Direct Memory Access) RDMA顾名思义是一种直接访问内存技术.它能够实现的是一台计算机内存到另一台计算机内存之间的通过网络直接访问,不涉及两台计算机的操作 ...