win10环境下利用pyinstaller把python代码(.py)打包成可执行文件(.exe)

前言

最近写了一个小小的检测程序,python写起来只需要短短一百行,可是打包起来就没有C那么容易了。下面记录一下我艰难的“打包”过程。

方法一:py2exe

py2exe是一种经典的方法,为什么说他经典呢?因为这玩意取了个这么好听的名字,但是只支持到python3.4,你这让我们这种紧跟时代潮流的弄潮儿怎么打包?

好吧,放弃。

方法二:pyinstaller

这是一个看起来比较靠谱的方法,只需要用pip安装,然后在命令窗里面一通操作就可以了。在这里,我参考了另一位老哥的博客(http://blog.csdn.net/mrlevo520/article/details/51840217)

不管那么多,我直接三下五除二,开始了pip,打开Anaconda Prompt,输入”pip install pyinstaller“

我是采用Anaconda安装的python3,所以自然用的是Anaconda Prompt,这里大家应该没有什么疑问吧 :)。

结果令人惋惜:

PermissionError: [WinError 32] 另一个程序正在使用此文件,进程无法访问。

无奈的我只好上网寻求帮助,在这位同学的博客(http://blog.csdn.net/qq_33530388/article/details/68933201)找到了解决方法,原来是编码的问题。虽然py3统一用utf-8了。但win下的终端显示用的还是gbk编码。

解决方法如下:

从你的python文件夹里找到pip下的compat文件夹,我的在F:\python\Anaconda3\Lib\site-packages\pip\compat

没错就是这里,有一个__init__.py文件,打开它,执行以下操作:

return s.decode(‘utf_8‘) 改为return s.decode(‘cp936‘)

OK,结束后再次尝试,看看能不能解决。。

PermissionError: [WinError 32] 另一个程序正在使用此文件,进程无法访问。好吧,还是不行。。。

不过功夫不负有心人,终于在另一个博客那里(http://blog.csdn.net/create115721/article/details/79238696),我找到了解决方法:

将刚才那个__init__.py文件中所有‘utf-8‘改为‘gbk‘。如此便解决了编码的问题。

安装完毕,接下来开始打包。

有和我一样忘了在windows的CMD中操作的同学请自觉复习(http://www.cnblogs.com/kekec/p/3662125.html),我这里就是直接进入F盘,输入“F:”,然后不停的cd到我的代码所在的文件夹。

最后执行命令:pyinstaller work1.py

结果:

这样就算是大功告成了吧,进入该目录下的dist文件夹打开看看,运行.exe文件,和下图一样没问题。可是。。我们还漏了一个重要的细节。

因为我们没有加参数,所以pyinstaller打包成散包。具体参数如下:

参数 定义
-F 指定打包后只生成一个exe格式的文件
-D –onedir 创建一个目录,包含exe文件,但会依赖很多文件(默认选项)
-c –console, –nowindowed 使用控制台,无界面(默认)
-w –windowed, –noconsole 使用窗口,无控制台
-p 添加搜索路径,让其找到对应的库。
-i 改变生成程序的icon图标

所以可以用参数-F 让生成一个文件,输入:pyinstaller -F work1.py

这个文件就可以发给你的朋友们,打开后愉快的happy(装b)啦!。。

原文地址:https://www.cnblogs.com/Hangingter/p/8604255.html

时间: 2024-11-05 18:58:46

win10环境下利用pyinstaller把python代码(.py)打包成可执行文件(.exe)的相关文章

用Pyinstaller把Python3.7程序打包成可执行文件exe

1.通过pip3 install pyinstaller 安装成功 2.然后执行命令,首先:需要切换到程序所在的目录 执行命令 pyinstaller -F -w <文件名.py>,-F代表生成可执行文件,-w代表需要控制台,不需要就不用加. 3.等执行结束后,会在程序所在的文件夹生成三个文件夹 4.前两个没什么用,可以安全删除,生成的exe文件就在dist里面. 原文地址:https://www.cnblogs.com/juehai/p/11615059.html

Windows用Pyinstaller把Python3程序打包成可执行文件exe

pip pip 是一个安装Python包的工具, 一般是在Python安装目录下的Scripts文件夹里.如果电脑上有pip,打开CMD窗口,进入pip所在目录,或者把这个目录添加到环境变量,输入 pip list 就可以看到已经安装的Python包 如果电脑上没有,可以到网上下载一个,链接https://pypi.python.org/pypi/pip 下载完成之后,解压到一个文件夹,用CMD控制台进入解压目录,输入: python setup.py install 等待完成安装即可 Pyin

在windows环境下利用virtualenv搭建Python虚拟环境

安装Python 安装时只有一点需要注意,一定一定要将Python添加到系统环境变量那一项勾选. 安装 virtualenv 加入系统目录之后,命令行(CMD)下就多了一条命令:pip.用pip可以自动下载安装 Python 的各种第三方库. 打开命令行,在命令行下直接输入: >pip install virtualenv 下载安装好好了,就 cd 到需要创建虚拟 Python 环境的文件夹下,输入命令: >virtualenv venv 激活virtualenv 文件夹中就会多了一个叫做 v

JAVA环境下利用solrj二次开发SOlR搜索的环境部署常见错误

问题一:出现控制台坏的响应错误一Bad request 控制台出现错误如下: Bad Request request: http://hostIP:8983/solr/update?wt=javabin&version=1 解决方法: 出现以上错误的原因是,solr服务器上配置的Field和javabean提交的Field不能对应, 导致solr服务器找不到域,拒绝访问. 打开SOLR_HOME下的conf文件夹找到schema.xml文件,在其中添加对应的域. 例如以下代码添加了:title,

用pyinstaller把python代码打包成exe可执行文件

优点: 1. pyinstaller 是跨平台的可以用在linux和windows系统上 2. 操作非常简单,几个命令就搞定了,这个比py2exe容易用多了 缺点: 1. 打包后的体积过大,因为要带python.dll库,所以没有办法 2. 不能和tkinter 等库,打包成单独一个文件 1.下载pyinstaller 目前pyinstaller支持的python版本为2.3-2.7,可以到http://www.pyinstaller.org/官网下载. 2.安装 下载完成后,解压即可. 3.p

域环境下利用组策略实现统一管理

域环境下利用组策略实现统一管理 1)   组策略配置 准备工作: 域控---新建---组织单位 Network 添加账户hansongwei 新建组策略对象 注:win 2003与win 2008 的区别 Win 2003[管理工具][Directory Active 用户和计算机]选择整个域或者某个组织单位,右键单击,[属性]---[组策略] Win2008  [管理工具][组策略管理] 本实例以win 2003为例 新建---组策略对象 networkGPO 编辑 networkGPO 做相

Windows环境下利用github快速配置git环境

在windows环境下利用github客户端我们可以直接拥有可视化的界面来管理工程,当然你也可以选择你喜欢的命令行工具来做.今天我分享一个比较快速的方式来配置git环境. 先去下载github的windows客户端:https://windows.github.com/ 下载完安装后其实就搞定了一大半了.接下来我们把: C:\Users\[你的用户名]\AppData\Local\GitHub\PortableGit_c2ba306e一大串数字\bin C:\Users\[你的用户名]\AppD

python打包成可执行文件

1 最开始我直接把在Windows上打包的run.exe文件上传到Linux以为可以直接用了.但是./run后报错.百度后知道,Windows上的程序不能在Linux上运行 Linux下文件是否可执行可后缀没有关系,只和权限有关系,靠的是文件本身的权限.想要执行就  chmod 755 filename 改变文件权限 windows和linux的二进制文件不能兼容,楼主检查下吧,不能在linux下运行windows的程序.一定要在linux下运行,需要安装wine Linux默认支持ELF格式二

pyinstaller相关问题 &amp; pygame文件打包成exe文件 &amp; 武装飞船 &amp; 飞机大战

自己照书写了一个飞机大战游戏的python程序,想把它打包成一个exe文件,在查阅相关教程并经过数次尝试后终于成功. 安装打包应用 pyinstaller 在cmd命令窗口下pip install pyinstaller,安装完成. 但是由于外国的网站比较慢所以可以利用镜像来进行安装 pip install pyinstaller -i https://pypi.douban.com/simple 注意是使用https,不是http.因为https才是安全信任的网站 在cmd中输入pyinsta