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 ...
随机推荐
- Ubuntu下查看自己的GPU型号
1.在命令行中输入:lspci 即可看到当前显卡型号. 2.Ubuntu 14.04 安装 Nvidia 私有驱动 sudo apt-get install nvidia-331 3.进行双显卡切换n ...
- Linux Shell常用技巧(一)
一. 特殊文件: /dev/null和/dev/tty Linux系统提供了两个对Shell编程非常有用的特殊文件,/dev/null和/dev/tty.其中/dev/null将会丢掉所有写入它 ...
- RAC配置笔记
Iscsi常用命令(我通过openfiler实现iscsi存储) # iscsiadm -m discovery -t st -p IP:port //发现iSCSI存储 # iscsiadm ...
- iOS url出现特殊字符处理 -- stringByAddingPercentEncodingWithAllowedCharacters
stringByAddingPercentEscapesUsingEncoding(只对 `#%^{}[]|\"<> 加空格共14个字符编码,不包括”&?”等符号), i ...
- 在用AJAX跨域请求时遇到的问题
刚刚接触ajax就遇到一个词--跨域. 在我百度了各种资料以后总结了一句话:“只要不是在一个协议.域.名端口下,都属于跨域(127.0.0.1本地也属于跨域)”. 在做ajax请求的时候,请求不到并且 ...
- [arc072F]Dam-[单调队列]
Description 传送门 Solution 首先我们肯定不能那么耿直地直接把水混合起来吧..不然分分钟完球. 那么怎么找到最优解呢?假如我们把水的体积和温度按顺序插入队列,这时我们插入第i天的水 ...
- getopt例子
(本例基于win7 + python3.4) import getopt, sys ''' getopt 模块专门用来处理命令行参数 函数 getopt(args, shortopts, longop ...
- AGC 005 D - ~K Perm Counting
D - ~K Perm Counting 链接 题意: 求有多少排列对于每个位置i都满足$|ai−i|!=k$.n<=2000 分析: 容斥+dp. $answer = \sum\limits_ ...
- codeforces 1053D 树形DP
题意:给一颗树,1为根节点,有两种节点,min或者max,min节点的值是它的子节点的值中最小的,max节点的值是它的子节点的值中最大的,若共有k个叶子,叶子的值依次为1~k. 问给每个叶子的值赋为几 ...
- Codeforces Round #452 (Div. 2)
第一次打..(太弱(+99积分是几个意思 A 题意:一堆数,只有1和2,问最多凑出多少个3. 分情况即可 #include<cstdio> int main(){ int a=0,b=0, ...