Python脚本导出为exe程序的方法

一.pyinstaller简介

pyinstaller将Python脚本打包成可执行程序,使在没有Python环境的机器上运行

最新版是pyinstaller 3.1.1。支持python2.7和python3.3+。 可运行在Windows,Mac和Linux操作系统下。 但它不是跨编译的,也就是说在Windows下用PyInstaller生成的exe只能运行在Windows下,在Linux下生成的只能运行在Linux下。

二.pyinstaller在windows下的安装

使用命令pip install pyinstaller即可 在windows下,pyinstaller需要PyWin32的支持。当用pip安装pyinstaller时未找到PyWin32,会自动安装pypiwin32

出现Successfully installed pyinstaller-3.1.1 pypiwin32-219即表示安装成功

三.打包

打包的app里并不包含任何源码,但将脚本的.pyc文件打包了。

基本语法: pyinstaller options myscript.py

常用的可选参数如下:

–onefile 将结果打包成一个可执行文件
–onedir 将所有结果打包到一个文件夹中,该文件夹包括一个可执行文件和可执行文件执行时需要的依赖文件(默认)
–paths=DIR 设置导入路径
–distpath=DIR 设置将打包的结果文件放置的路径
–specpath=DIR 设置将spec文件放置的路径
–windowed 使用windows子系统执行,不会打开命令行(只对windows有效)
–nowindowed 使用控制台子系统执行(默认)(只对windows有效)
–icon=<FILE.ICO> 将file.ico添加为可执行文件的资源(只对windows有效)

如pyinstaller --paths=“D:\Queena” guess_exe.py

四.小实例(windows下)

写好游戏文件guess_exe.py,代码如下:

__author__ = 'zhou'
# -*- coding:utf-8 -*-
# 摇3次骰子,当总数total,3<=total<=10时为小,11<=total<=18为大
import random
import time
def enter_stake(current_money):
 '''输入小于结余的赌资及翻倍率,未考虑输入type错误的情况'''
 stake = int(input('How much you wanna bet?(such as 1000):'))
 rate = int(input("What multiplier do you want?你想翻几倍?(such as 2):"))
 small_compare = current_money < stake * rate
 while small_compare == True:
 stake = int(input('You has not so much money ${}!How much you wanna bet?(such as 1000):'.format(stake * rate)))
 rate = int(input("What multiplier do you want?你想翻几倍?(such as 2):"))
 small_compare = current_money < stake * rate
 return stake,rate
def roll_dice(times = 3):
 '''摇骰子'''
 print('<<<<<<<<<< Roll The Dice! >>>>>>>>>>')
 points_list = []
 while times > 0:
 number = random.randrange(1,7)
 points_list.append(number)
 times -= 1
 return points_list
def roll_result(total):
 '''判断是大是小'''
 is_big = 11 <= total <= 18
 is_small = 3 <= total <= 10
 if is_small:
 return 'Small'
 elif is_big:
 return 'Big'
def settlement(boo,points_list,current_money,stake = 1000,rate = 1):
 '''结余'''
 increase = stake * rate
 if boo:
 current_money += increase
 print('The points are ' + str(points_list) + ' .You win!')
 print('You gained $' + str(increase) + '.You have $' + str(current_money) + ' now.' )
 else:
 current_money -= increase
 print('The points are ' + str(points_list) + ' .You lose!')
 print('You lost $' + str(increase) + '.You have $' + str(current_money) + ' now.' )
 return current_money
def sleep_second(seconds=1):
 '''休眠'''
 time.sleep(seconds)
# 开始游戏
def start_game():
 '''开始猜大小的游戏'''
 current_money = 1000
 print('You have ${} now.'.format(current_money))
 sleep_second()
 while current_money > 0:
 print('<<<<<<<<<<<<<<<<<<<< Game Starts! >>>>>>>>>>>>>>>>>>>>')
 your_choice = input('Big or Small: ')
 choices = ['Big','Small']
 if your_choice in choices:
 stake,rate = enter_stake(current_money)
 points_list = roll_dice()
 total = sum(points_list)
 actual_result = roll_result(total)
 boo = your_choice == actual_result
 current_money = settlement(boo,points_list,current_money,stake,rate)
 else:
 print('Invalid input!')
 else:
 sleep_second()
 print('Game Over!')
 sleep_second(2)
if __name__ == '__main__':
 start_game()

之后命令行,切换到guess_exe.py的目录下, 输入:

pyinstaller --onefile --nowindowed --icon="D:\Queena\PyCharmProjects\dist1\computer_three.ico" guess_exe.py


就会在当前文件下形成build文件夹、dist文件夹和.spec文件。 dist里就是guess_exe.exe可执行文件。

[外链图片转存失败(img-NSV511rc-1562767762570)(https://upload-images.jianshu.io/upload_images/6152595-56dc5aad9152513e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

1、安装pyinstaller(需要先安装pip)、再:pip install pyinstaller

(由于我事先安装了pyinstaller,为了方便就卸载了,不知道影不影响显示。但安装成功后会有“Successfully installed pyinstaller”的提示)

2、定位到pyinstaller.exe所在文件夹(一般再python下的“scripts”文件夹下)

(温馨提示:再cmd下tab键又补全功能哦)

3、再添加上你要转换的文件地址(两者之间有空格)

pyinstaller.exe后面如果加上-F就是打包为一个exe文件(文件会比较大),如果不加就会有很多库文件;加上-w就是打包为没有cmd窗口的exe,不加运行时就会出现cmd窗口。(加不加凭个人喜好)

4. 加-F的效果

不加-F

不加-w的效果

(加-w的话,就没有后面的那个黑框了

1、-F指令

注意指令区分大小写。这里是大写。使用-F指令可以把应用打包成一个独立的exe文件,否则是一个带各种dll和依赖文件的文件夹

2、-p指令

这个指令后面可以增加pyinstaller搜索模块的路径。因为应用打包涉及的模块很多。这里可以自己添加路径。不过经过笔者测试,site-packages目录下都是可以被识别的,不需要再手动添加

补充:如何将python的.py文件转换为可执行的.exe文件。

首先,我写了一个print(“hello,world”).py文件。命名为hello.py保存在我的电脑C盘的C:\Users\ly目录下如图所示。

ps:尽量选择在这个文件夹下,如果选择其他盘的文件夹下,生成的.exe的dist文件夹也会出现在这个c盘的路径下,而且如果保存在其他盘下有时候还会出错,不好用。

              

利用pip安装python的工具库pyinstaller。

pip install pyinstaller

安装成功后

在命令窗口输入:pyinstaller -F C:\Users\ly\hello.py

注意 F 一定要大写

然后就会在这个路径下的dist文件夹下找到这和同名的hello.exe文件。

总结

到此这篇关于Python脚本导出为exe程序的方法的文章就介绍到这了,更多相关Python导出exe程序内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 详解如何将python3.6软件的py文件打包成exe程序

    在我们完成一个Python项目或一个程序时,希望将Python的py文件打包成在Windows系统下直接可以运行的exe程序.在浏览网上的资料来看,有利用pyinstaller和cx_Freeze进行打包的方法.关于cx_Freeze打包的方法,可以参考windows下cx_Freeze生成Python可执行程序中的方法.由于方法主要是可以用于Python3.3版本的,高于该版本的Python无法使用.在我尝试的过程中,碰到的一个问题是: 安装cx_Freeze-4.3.3,找不到cxFreez

  • python定时检查启动某个exe程序适合检测exe是否挂了

    详见代码如下: 复制代码 代码如下: import threading import time import os import subprocess def get_process_count(imagename): p = os.popen('tasklist /FI "IMAGENAME eq %s"' % imagename) return p.read().count(imagename) def timer_start(): t = threading.Timer(120,

  • 通过Py2exe将自己的python程序打包成.exe/.app的方法

    Windows 10 x64 macOS Sierra 10.12.4 Python 2.7 准备好装哔~了么,来吧,做个真正意义上的绿色小软件 Win下发布应用 起因 今天实验室同学看到我的乞丐版二输入规则器,他挺感兴趣的,也想要玩玩,但是他没有装python的环境,总不能让他一直玩我电脑吧,所以想到了将程序打包成exe,直接运行!想法一出来,根本挡不住啊,说干就干,先百度python打包exe,一大堆答案,我整理了一下,大概有Py2exe和pyinstaller两种,但是,我给你看张图 这是

  • Windows中使用wxPython和py2exe开发Python的GUI程序的实例教程

    Python是支持可视化编程,即编写gui程序,你可以用它来编写自己喜欢的桌面程序.使用wxPython来做界面非常的简单,只是不能像C#一样拖动控件,需要自行写代码布局.在完成编写之后,由于直接的py文件不能再没有安装python的电脑上运行,能否有一个打包成在任意电脑都能运行的工具,网上找找发现了py2exe正好可以完成这个功能.wxPython和py2exe都是开源免费软件. 环境配置 wxPython: sourceforge项目页https://sourceforge.net/proj

  • Windows下用py2exe将Python程序打包成exe程序的教程

    py2exe在sourceforge 的下载只支持到2.7. 针对python3.0+的版本,需要自己编译. 1.下载源码 svn checkout svn://svn.code.sf.net/p/py2exe/svn/trunk py2exe-svn 2.编译环境 这里使用的是vs2014. 3.安装 进入py2exe-3 python setup.py install 这里会进行编译.安装. 此外,python默认使用的是vs9,针对vs2014,需要改下文件: 复制代码 代码如下: Lib

  • 手动实现把python项目发布为exe可执行程序过程分享

    1. 手动制作python的exe可执行程序Python没有内建一个编译为exe的功能.给python程序的部署带来不少的麻烦.所以就会出现一些py2exe之类的很不错的工具,用于自动把.py文件编译为.exe文件. 最近抽空研究了一下手动实现类似py2exe的功能,希望加强对python的了解.结果还相当不错.把结果记录下来,与大家共享. 1.1. 原理文中所描述的方法,基于python的以下几个功能 1) python程序运行时,会在sys.path指定的路径中查找库文件.    2) py

  • 使用python编写简单的小程序编译成exe跑在win10上

    每天的工作其实很无聊,早知道应该去IT公司闯荡的.最近的工作内容是每逢一个整点,从早7点到晚11点,去查一次客流数据,整理到表格中,上交给素未蒙面的上线,由他呈交领导查阅. 人的精力毕竟是有限的,所以不一定在每个整点都可以及时去做这项工作.灵机一动,这种一丝不苟的活儿应该让计算器来做,由它来在每个整点来告诉我该去工作了. 说干就干,平时只用c#写过小程序,由于办公电脑上是公用的,所以没有想自己电脑一样装有visual studio,索性心一横,用python试试吧.总是听说那句大名鼎鼎的"人生苦

  • Python脚本导出为exe程序的方法

    一.pyinstaller简介 pyinstaller将Python脚本打包成可执行程序,使在没有Python环境的机器上运行 最新版是pyinstaller 3.1.1.支持python2.7和python3.3+. 可运行在Windows,Mac和Linux操作系统下. 但它不是跨编译的,也就是说在Windows下用PyInstaller生成的exe只能运行在Windows下,在Linux下生成的只能运行在Linux下. 二.pyinstaller在windows下的安装 使用命令pip i

  • 如何将Python脚本打包成exe应用程序介绍

    目录 前言 安装Pyinstaller 将脚本打包成exe应用程序 进阶:消除命令窗口.自定义图标 总结 前言 我们有时候会编写Python脚本来辅助我们执行一些重复的操作.但是这些脚本在实际使用中会有一些不方便: 我们通常需要进入终端或者IDE中来运行脚本(当然,有办法可以实现双击脚本文件直接运行,但这不在今天的讨论范围内). 如果把脚本迁移至其他电脑上,那么Python环境变化,比如新电脑上没有安装Python,或者缺乏该脚本所调用的包等,脚本有很大概率无法正常运行. 这时候,我们可以将脚本

  • python脚本开机自启的实现方法

    问题描述:将python脚本设置成开机自启. 环境:windows7 64位 前段时间,一直想把文件打包成exe文件,然后设置成开机自启,虽然感觉很装逼,但是使用pyinstaller打包成exe文件的历程却是非常坎坷,一改脚本或者导入一个新的库,打包就出现各种报错,各种问题,最后博主实在找不到解决办法之后放弃了,谁知突然间却看到有博客说能直接把py程序设成开机自启,真是开心,下面说明一下操作步骤: (1)首先,需要新建一个.bat文件(用来运行脚本),格式如下,红色部分为python脚本的位置

  • pycharm 将python文件打包为exe格式的方法

    因为近期正在学习python,就需要将python文件打包为exe可执行文件,就将该过程记录下来. 首先我是通过Pyinstall打包的,具体安装及打包步骤如下 1.打开终端控制台 通过pip命令进行安装 pip install PyInstall 2.接着会自动下载,安装成功后 通过Pyinstall自带命令进行打包 3.控制台输入 Pyinstall -F xxx(pyw文件路径,例如c://user/desktop/demo.py) 4.打包后exe文件路径在项目下dict文件夹中 具体可

  • ubuntu下让python脚本可直接运行的实现方法

    我们还是以那个翻译程序为例子,上次给各位老铁讲了在windows下的应用程序打包,这一次给各位老铁讲一讲,在linux下为python文件可以自己执行,从而不需要python xxx.py. 很简单,在python源文件最上面添上下面一句话! #!/usr/bin/python3 /usr/bin/python3,是ubuntu下python3解释器所在的目录,具体可以用which python3查看 然后在执行chmod +x ./xxx.py,为python脚本增加可执行权限 例如我这里 s

  • Windows下将Python文件打包成.EXE可执行文件的方法

    在使用Python做开发的时候,时不时会给自己编写了一些小工具辅助自己的工作,但是由于开发依赖环境问题,多数只能在自己电脑上运行,拿到其它电脑后就没法运行了.这显得很不方便,不符合我们的初衷,那么有没有一种什么办法可以使我们编写好的程序,可以直接在各种windows下运行的呢? 答案是:有的,说到windows大家都能想到( .exe )这个东西吧!没错,就是把Python编写的代码打包成可执行的 exe 文件,直接在系统上运行,这个问题不久完美解决了吗? 下面就来讲讲如何实现,具体如下: 安装

  • python如何导出微信公众号文章方法详解

    1.安装wkhtmltopdf 下载地址:https://wkhtmltopdf.org/downloads.html 我测试用的是windows的,下载安装后结果如下 2 编写python 代码导出微信公众号文章 不能直接使用wkhtmltopdf 导出微信公众号文章,导出的文章会缺失图片,所以需要使用 wechatsogou 将微信公众号文章页面抓取,之后将html文本转化为pdf pip install wechatsogou --upgrade pip install pdfkit 踩坑

  • 将Python脚本打包成exe文件

    目录 1.安装依赖 2.整合资源 3.修改脚本并测试 4.准备图标(可略过) 5.pyinstaller打包 6.结论 总结 相信很多朋友在用Python写完代码之后都迫不及待的想发给对象交流(装X),但是发源码又要求对方有对应的解释器,一般是行不通的,所以我们要把源码打包成可执行的.exe文件,方便广大用户使用. 1.安装依赖 打开命令行[开始->搜索->cmd] pip install pyinstaller 等待安装成功 2.整合资源 将代码所需要加载的文件资源[图片.因为.文档等]整合

  • python脚本内运行linux命令的方法

    本文实例讲述了python脚本内运行linux命令的方法.分享给大家供大家参考.具体实现方法如下: #/usr/bin/env python import subprocess class RunCmd(object): def cmd_run(self, cmd): self.cmd = cmd subprocess.call(self.cmd, shell=True) #Sample usage a = RunCmd() a.cmd_run('ls -l') 希望本文所述对大家的Python

  • python实现自动重启本程序的方法

    本文实例讲述了python实现自动重启本程序的方法.分享给大家供大家参考.具体实现方法如下: #!/usr/local/bin/python #-*- coding: UTF-8 -*- #################################################################### # python 自动重启本程序 #################################################################### #

随机推荐