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 ...
随机推荐
- python 语言学入门第一课必看:编码规范
命名 module_name, package_name, ClassName, method_name, ExceptionName, function_name, GLOBAL_VAR_NAME, ...
- for var let闭包理解
let. var. setTimeout,一点思考. for(var i = 0; i < 10; i++){ setTimeout(function(){ console.log(i); }, ...
- vue-cli代理开发
如何设置接口代理? 一.找到config文件下的index.js 二.找到dev里面的proxyTable他的值就是一个{},这里为了方便配置配置文件单独写成一个文件 dev: { env: requ ...
- 拥抱.NET Core系列:MemoryCache 缓存域(转载)
阅读目录 MSCache项目 缓存域 写在最后 在上一篇“<拥抱.NET Core系列:MemoryCache 缓存选项>”我们介绍了一些 MSCache 的机制,今天我们来介绍一下 MS ...
- N个数中第k个最大者
#include<stdio.h> #include<stdlib.h> void bubbleSort(int arr[],int n) { int i,j; ;i>; ...
- [iOS]拾遗补阙
一.AFNetworking POST纯字符串 修改位置AFURLRequestSerialization 修改前 NSString * AFQueryStringFromParameters(NSD ...
- scala字段权限问题
1.对象私有字段 1)private class Counter(num: Int) { private var value = 0 def increment() = { value += 1 } ...
- Scala中的类学习
Scala中的类学习 从java了解类的情况下,了解Scala的类并不难.Scala类中的字段自动带getter和setter方法,用@BeanProperty注解生成javaBean对象的getXX ...
- 通过R语言统计考研英语(二)单词出现频率
通过R语言统计考研英语(二)单词出现频率 大家对英语考试并不陌生,首先是背单词,就是所谓的高频词汇.厚厚的一本单词,真的看的头大.最近结合自己刚学的R语言,为年底的考研做准备,想统计一下最近考研英语( ...
- WPF之ComboBox的VisualTreeHelper
原文:WPF之ComboBox的VisualTreeHelper 用WPF的ComboBox控件的时候,需要用到TextChanged属性,但是这个属性属于TextBox控件,不用担心,ComboBo ...