首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >工具| 将你如何打包py文件脱机运行

工具| 将你如何打包py文件脱机运行

作者头像
啃饼思录
发布2019-04-25 14:29:56
2.2K0
发布2019-04-25 14:29:56
举报

点击上方蓝色字关注 [ 啃饼思录 ]~

我回来了,说好的回来。。。

上次给大家透露了本期文章是爬取抖音小视频,因为我们没有介绍过如何爬取app,因此依旧是爬取网站。抖音有一个国际版,其网址是https://www.tiktok.com/,但是在国内访问不了,你需要访问外国网站。很不幸这篇文章写到一半的时候,我的挂掉了,所以这篇文章就先搁浅了。等后面有空就出几篇基于app的爬虫文章,今天我们的主题是如何将py文件打包成exe格式,以便于在Windows系统上脱机运行。好了话不多说,走你。

1

首先我们需要下载pyinstaller这个工具,链接在这里:http://www.pyinstaller.org/downloads.html,进入到下载页面:

当然如果你觉得下载太麻烦,你可以直接使用

pip install pyinstaller

这个命令直接下载,然后执行

pip install --upgrade pyinstaller

检查一下是不是最新的版本。当然官方也提供了一个直接安装的方法:

pip install https://github.com/pyinstaller/pyinstaller/archive/develop.tar.gz

不出意外的话,它会顺便安装下面的依赖:

altgraph-0.16.1 macholib-1.11 pefile-2018.8.8 pyinstaller-3.4 pywin32-ctypes-0.2.0

需要说明的是pyinstaller目前最高只支持Python3.4的版本,其他高版本暂不支持。

接下来就是重点,如何将py文件打包为exe可执行文件?往下看,很简单,两步就能解决!第一步,先准备一个helloWorld.py文件,第二步使用

pyinstaller -F helloWorld.py

就能在当前生成的dist文件夹下面,发现一个helloWorld.exe的可执行文件了。(生成路径中不要包含中文,否则就会出现问题)

现在介绍一下pyinstaller后面添加参数的含义:

-F 表示生成单个可执行文件

-w 表示去掉控制台窗口,这在GUI界面时非常有用。不过如果是命令行程序的话那就把这个选项删除吧!

-p 表示你自己自定义需要加载的类路径,一般情况下用不到

-i 表示可执行文件的图标

了解了上面的参数以后,我们来尝试修改一下生成文件的图标,你只需要在输入的命令中添加一个-i tubiao.ico(图标的相对路径)即可:

你只需要在终端中输入:

pyinstaller -F -i dog.ico helloWorld.py

就可以在dist文件夹下面,发现一个helloWorld.exe的可执行文件了。

最后附上我helloWorld.py里面的猜数字游戏代码,你们可以尝试打包完去玩一玩这个小游戏吧:

 1#!/usr/bin/python 
 2# -*- coding:utf-8 -*-  
 3# @Time: 2019/4/6 10:26   
 4# @Author: Envy   
 5# @File: helloWorld.py
 6
 7
 8import random
 9print("########  猜数字小游戏(100以内)   #########")
10print("#  1.开始游戏  2.任意键退出游戏  #")
11print("#    注:猜错三次游戏自动退出.   #")
12print("##################################")
13put = input("请输入:")
14if put == "1":
15    number = 3
16    secret = random.randint(1, 100)
17    while number > 0:
18        temp = input("不妨猜一猜我现在心里想的数字是几:")
19        temp2 = temp.strip()
20        if temp2.isdigit():
21            temp1 = int(temp2)
22            if temp1 ==secret:
23                exit("哼,我心里想的数是%s,居然被你猜中了,不过猜中也没有奖励^_^ 游戏结束啦!"%secret)
24            elif number == 1:
25                exit("一丢丢笨了,三次机会都没有猜到!不妨告诉你吧,我心里想的数字是:%s" % (secret))
26            elif temp1 > secret:
27                print("我心想的数字比%s小,还剩%s次机会啦"%(temp1,number-1))
28            else:
29                print("我心想的数字比%s大,还剩%s次机会啦"%(temp1,number-1))
30        else:
31            print("Error:'%s'不是一个数字,请输入一个整数" % temp)
32            number += 1
33        number -= 1
34
35
36else:
37    exit("退出游戏成功!")

苹果电脑的用户是不是觉得很无奈?哈哈哈,没有的事,接下来就教你如何打包为dmg格式文件。继续往下看!

这里苹果用户使用的是py2app这个工具,不过需要说明的是这个工具打包后的dmg格式,只能在你电脑上运行,这个和使用pyinstaller打包的完全不一样,pyinstaller打包的软件可以在任意一台Windows电脑上运行。

第一步:进行安装py2app(注意使用pip3源)

pip3 install py2app

第二步:查找 py2app 中 py2applet 的地址

sudo find / -name "py2applet" -type f

第三步:创建 setup 文件

"py2applet 地址" --make-setup "python文件地址"

第四步:发布应用

rm -rf build dist

python3 setup.py py2app -A

这个过程相对来说是比较复杂的,但是也是很好理解,所以我就不一一演示了。

前面说了Windows和MacOs,那么Linux系统呢?你可以使用cx_Freeze,这个和前面的使用方法差不多,我就不一一介绍了。

好了,今天的分享就到这里了,如果你觉得不错,请分享一下吧。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-04-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 啃饼思录 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档