Python脚本文件(.py)打包为可执行文件(.exe)即避免命令行中包含Python解释器
在最近的软件工程作业中用到了将Python脚本转化为exe文件这一过程,网上各种博客介绍了很多,有些东西都不完全,我也是综合了很多种方法最后才实现的,我就把这些整理出来,希望可以帮到大家~
一、环境和工具
-Windows 10 Enterprise 64bit
-Python 3.6.4
-pyinstaller
-pip 18.0
二、实现过程
1. pip安装pyinstaller
(1).Python和pip的使用
pip类似于linux中的yumy,但它是依赖于Python的,如果你已经成功安装Python相关版本并且配置好环境变量,就可以使用pip进行软件安装。在cmd下输入python如果出现对应的版本等信息,说明是安装成功的;同样,cmd下输入pip如果弹出来很多帮助信息也说明pip是可用的;更多安装相关内容可以百度,这里不赘述。
(2).安装pyinstaller
首先,进入Python安装目录的Scripts文件夹下,如果你忘记了Python的安装位置,可以通过命令行的方式显示安装路径。具体操作为:cmd下输入python进入Python编辑器环境,然后输入代码:
import sys
sys.path
我的Python安装路径是:C:\Users\zhang\AppData\Programs\Python\Python36文件夹下,那么我的安装路径查看效果如下图所示:

输入cd C:\Users\zhang\AppData\Local\Programs\Python\Python36\Scripts\
进入Python的Scripts文件夹。
然后,在cmd中输入命令:pip.exe install Pyinstaller,
接下来会完成pyinstaller的安装,安装完成后在Scripts文件夹中会出现pyinstaller.exe,说明安装成功。
2. py2exe
最后,通过命令行的方式实现Python脚本到exe的转换,命令格式为:
pyinstaller.exe [-parameter] filename,其中[-parameter]共有三个参数,-w参数k可以屏蔽m命令行调试窗口;-F参数可以把脚本打包成一个独立的exe文件,否则是一个带各种dll和依赖文件的文件夹;-p参数可以增加pyinstaller搜索模块的路径,这里我们使用-F参数就可以满足需要。filename参数是要打包的脚本文件的完全路径,比如我的脚本文件wf.py放在C:\Users\zhang\source\repos\wc\wc文件夹下,那我我的filename的值就是:C:\Users\zhang\source\repos\wc\wc\wf.py
所以,我要输入的命令就是:pyinstaller.exe -F C:\Users\zhang\source\repos\wc\wc\wf.py
执行完毕后在Scripts文件下会生成一个dist文件夹,dist文件夹就存放着刚生成的wf.exe文件,至此,py2exe的整个过程就结束了,我们也实现了目标。
Python脚本文件(.py)打包为可执行文件(.exe)即避免命令行中包含Python解释器的更多相关文章
- 在命令行中输入python会跳转到商店问题解决,python环境变量的配置
安装python出了点问题,明明安装了,在应用商店显示已获取,可是在命令行输入python检验时就直接跳转到win10系统自带的应用商店...... 这不免让我怀疑是不是没有安装好python~但是它 ...
- win10环境下利用pyinstaller把python代码(.py)打包成可执行文件(.exe)
前言 最近写了一个小小的检测程序,python写起来只需要短短一百行,可是打包起来就没有C那么容易了.下面记录一下我艰难的"打包"过程. 方法一:py2exe py2exe是一种经 ...
- 命令行中的python一行流
优点是比那些古怪的脚本要易读 python -c 'import os, sys; [os.rename(a, a[0].upper()+a[1:]) for a in sys.argv[1:]]' ...
- shell基础概念, if+命令, shell中引用python, shell脚本的几种执行方式
说明: 虚拟机中shell_test目录用来练习shell, 其中有个test.log文件用来存放日志 #!/usr/bin/bash # shell文件开头, 用来指定该文件使用哪个解释器 ...
- Python程序打包为可执行文件exe
Python程序打包为可执行文件exe,pyinstaller应用 山重水复疑无路,柳暗花明又一村. 本来是向老师提交一个python程序,因为第一次所以就很尴尬只把源码给老师了,应该是打包成一个可执 ...
- Python核心笔记:在python文件中如何调用其它python脚本文件,你肯定不会
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:zhujuyu 笔者在自学python的时候遇到了这样一个练习题:将 ...
- 如何编写一个带命令行参数的Python文件
看到别人执行一个带命令行参数的python文件,瞬间觉得高大上起来.牛逼起来,那么如何编写一个带命令行参数的python脚本呢?不用紧张,下面将简单易懂地让你学会如何让自己的python脚本,支持带命 ...
- python如何通过windows命令行运行一个python程序文件?
python如何通过windows命令行运行一个python程序文件? cmd 进入到py文件对应目录下或者直接在上面的文件地址栏输入cmd,敲入回车 定位到对应的目录下 输入python xxx.p ...
- 如何在python脚本里面连续执行adb shell后面的各种命令
如何在python脚本里面连续执行adb shell后面的各种命令 adb shell "cd /data/local && mkdir tmp" adb shel ...
随机推荐
- Unity游戏开发之“分层碰撞”
有没有同学遇到过这样的情况:在游戏开发3D游戏中非经常见,比方让一个物体能穿过一个物体 而还有一个物体不能穿过这个物体,并且3个物体都不能穿过地面.在unity中这样的情况的处理是通过分层碰撞来解决的 ...
- RAC配置笔记
Iscsi常用命令(我通过openfiler实现iscsi存储) # iscsiadm -m discovery -t st -p IP:port //发现iSCSI存储 # iscsiadm ...
- L2-025 分而治之(图)
(这不会是我最后一天写算法题的博客吧...有点感伤...) 题目: 分而治之,各个击破是兵家常用的策略之一.在战争中,我们希望首先攻下敌方的部分城市,使其剩余的城市变成孤立无援,然后再分头各个击破.为 ...
- 搜集到的一些python资料
1,MOOC课程-Python语言程序设计(嵩天)http://www.icourse163.org/course/BIT-268001 2,Python123网站(嵩天老师的教学网站):https: ...
- 在centos6.5下用nginx无法连接zabbix与mysql的解决办法
一般情况下默认的webserver是apache.zabbix也不例外,官方文档全都是推荐用apache. 如果执意用nginx来做webserver的话,php引导需要再安装一个php-fpm.而且 ...
- FPGA-Xilinx原语调用之ODDR
记录背景:最近由于想实现GMIItoRGMII的功能,因此需要调用ODDR原语. ODDR:Dedicated Dual Data Rate (DDR) Output Register 通过ODDR把 ...
- tomcat启动慢?自己动手打造轻量web服务器(一)
废话少说,直接上代码. 编程语言:kotlin import java.net.ServerSocketimport java.net.Socket fun main(args:Array<St ...
- 20155308 加分题-mybash的实现(第五周)
20155308 加分题-mybash的实现(第五周) 实验要求 使用fork,exec,wait实现mybash 写出伪代码,产品代码和测试代码 发表知识理解,实现过程和问题解决的博客(包含代码托管 ...
- AFO预定
妈耶 数论题都不会 推不出式子 题解都看不懂 还是思维jiang化了 布星了 吃枣药丸 祝yyb进队 祝zsy进队 祝鸡贼进队
- mongodb原生node驱动
写在前面 最近读<node.js学习指南>,对于mongodb没有介绍太多的工作原理,但是对于一个前端开发者,即使你还没有用过这种数据库也可以让你很好的理解和使用 一本非常好的 ...