在最近的软件工程作业中用到了将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解释器的更多相关文章

  1. 在命令行中输入python会跳转到商店问题解决,python环境变量的配置

    安装python出了点问题,明明安装了,在应用商店显示已获取,可是在命令行输入python检验时就直接跳转到win10系统自带的应用商店...... 这不免让我怀疑是不是没有安装好python~但是它 ...

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

    前言 最近写了一个小小的检测程序,python写起来只需要短短一百行,可是打包起来就没有C那么容易了.下面记录一下我艰难的"打包"过程. 方法一:py2exe py2exe是一种经 ...

  3. 命令行中的python一行流

    优点是比那些古怪的脚本要易读 python -c 'import os, sys; [os.rename(a, a[0].upper()+a[1:]) for a in sys.argv[1:]]' ...

  4. shell基础概念, if+命令, shell中引用python, shell脚本的几种执行方式

    说明: 虚拟机中shell_test目录用来练习shell, 其中有个test.log文件用来存放日志 #!/usr/bin/bash      # shell文件开头, 用来指定该文件使用哪个解释器 ...

  5. Python程序打包为可执行文件exe

    Python程序打包为可执行文件exe,pyinstaller应用 山重水复疑无路,柳暗花明又一村. 本来是向老师提交一个python程序,因为第一次所以就很尴尬只把源码给老师了,应该是打包成一个可执 ...

  6. Python核心笔记:在python文件中如何调用其它python脚本文件,你肯定不会

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:zhujuyu 笔者在自学python的时候遇到了这样一个练习题:将 ...

  7. 如何编写一个带命令行参数的Python文件

    看到别人执行一个带命令行参数的python文件,瞬间觉得高大上起来.牛逼起来,那么如何编写一个带命令行参数的python脚本呢?不用紧张,下面将简单易懂地让你学会如何让自己的python脚本,支持带命 ...

  8. python如何通过windows命令行运行一个python程序文件?

    python如何通过windows命令行运行一个python程序文件? cmd 进入到py文件对应目录下或者直接在上面的文件地址栏输入cmd,敲入回车 定位到对应的目录下 输入python xxx.p ...

  9. 如何在python脚本里面连续执行adb shell后面的各种命令

    如何在python脚本里面连续执行adb shell后面的各种命令 adb shell "cd /data/local && mkdir tmp" adb shel ...

随机推荐

  1. python 语言学入门第一课必看:编码规范

    命名 module_name, package_name, ClassName, method_name, ExceptionName, function_name, GLOBAL_VAR_NAME, ...

  2. for var let闭包理解

    let. var. setTimeout,一点思考. for(var i = 0; i < 10; i++){ setTimeout(function(){ console.log(i); }, ...

  3. vue-cli代理开发

    如何设置接口代理? 一.找到config文件下的index.js 二.找到dev里面的proxyTable他的值就是一个{},这里为了方便配置配置文件单独写成一个文件 dev: { env: requ ...

  4. 拥抱.NET Core系列:MemoryCache 缓存域(转载)

    阅读目录 MSCache项目 缓存域 写在最后 在上一篇“<拥抱.NET Core系列:MemoryCache 缓存选项>”我们介绍了一些 MSCache 的机制,今天我们来介绍一下 MS ...

  5. N个数中第k个最大者

    #include<stdio.h> #include<stdlib.h> void bubbleSort(int arr[],int n) { int i,j; ;i>; ...

  6. [iOS]拾遗补阙

    一.AFNetworking POST纯字符串 修改位置AFURLRequestSerialization 修改前 NSString * AFQueryStringFromParameters(NSD ...

  7. scala字段权限问题

    1.对象私有字段 1)private class Counter(num: Int) { private var value = 0 def increment() = { value += 1 } ...

  8. Scala中的类学习

    Scala中的类学习 从java了解类的情况下,了解Scala的类并不难.Scala类中的字段自动带getter和setter方法,用@BeanProperty注解生成javaBean对象的getXX ...

  9. 通过R语言统计考研英语(二)单词出现频率

    通过R语言统计考研英语(二)单词出现频率 大家对英语考试并不陌生,首先是背单词,就是所谓的高频词汇.厚厚的一本单词,真的看的头大.最近结合自己刚学的R语言,为年底的考研做准备,想统计一下最近考研英语( ...

  10. WPF之ComboBox的VisualTreeHelper

    原文:WPF之ComboBox的VisualTreeHelper 用WPF的ComboBox控件的时候,需要用到TextChanged属性,但是这个属性属于TextBox控件,不用担心,ComboBo ...