第一种方法:我们只会生成一个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. 2023/4/14 SCRUM个人博客

    1.我昨天的任务 初步了解项目的整体框架,并对接下来的人脸识别库以及组件有基本了解和安装 2.遇到了什么困难 ------------ 3.我今天的任务 获得了人脸识别作弊检测和绘制界面的分工,准备先 ...

  2. 斯坦福AI团队被质疑抄袭国产大模型

    原文地址: https://mbd.baidu.com/newspage/data/landingsuper?context={"nid"%3A"news_8882699 ...

  3. 读论文《Distilling the Knowledge in a Neural Network》——蒸馏网络 —— 蒸馏算法 —— 知识蒸馏 中的温度系数到底怎么用, temperature怎么用?

    论文地址: https://arxiv.org/pdf/1503.02531.pdf 蒸馏网络的重要公式: 其中,\(p^g\)为Teacher网络,\(q\)为Student网络. 个体神经网络(C ...

  4. 使用MindSpore_hub 进行 加载模型用于推理或迁移学习

    从官方资料: https://www.mindspore.cn/tutorial/training/zh-CN/r1.2/use/save_model.html?highlight=save_chec ...

  5. ChatGPT到底有用没用?—— 个人观点:有用,但不多

    今天接到在大连某高校任职的师弟电话,师弟十分喜欢用ChatGPT,尤其是其文字自动生成的功能,这对于我们这种文字工作者来说简直就是"福音",但是我对这个观点却是有所保留. 当年区块 ...

  6. 使用tensorbaoardx报错——Descriptors cannot not be created directly. If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.

    运行代码报错: from tensorboardX import SummaryWriter 报错内容: 发生异常: TypeError Descriptors cannot not be creat ...

  7. Apache DolphinScheduler 3.2.1 版本发布:增强功能与安全性的全面升级

    近期,Apache DolphinScheduler 社区激动地宣布 3.2.1 版本的发布.此次更新不仅着力解决了前一版本(3.2.0)中遗留的问题,而且引入了一系列的功能增强和优化措施. 原先的问 ...

  8. "揭秘CentosChina爬虫项目:掌握Scrapy框架的必备技巧与数据库设计"

    Centoschina 项目要求 爬取centoschina_cn的所有问题,包括文章标题和内容 数据库表设计 库表设计: 数据展示: 项目亮点 低耦合,高内聚. 爬虫专有settings custo ...

  9. FFmpeg开发笔记(四十五)使用SRT Streamer开启APP直播推流

    ​SRT Streamer是一个安卓手机端的开源SRT协议直播推流框架,可用于RTMP直播和SRT直播.SRT Streamer支持的视频编码包括H264.H265等等,支持的音频编码包括AAC.OP ...

  10. zuul集成apollo动态刷新配置

    zuul集成apollo实现路由配置的动态刷新 import com.ctrip.framework.apollo.model.ConfigChangeEvent; import com.ctrip. ...