Python代码的打包发布教程
这⼀篇教程,我们⼀起来学习Python代码的打包发布。
⾸先,打包的⽤途分为以下⼏种:
⽣成可以通过命令⾏安装的安装包
⽣成带有Windows中带有安装向导界⾯的安装包
指针如何定义⽣成Windows可执⾏程序(exe)
⼀、⽣成可以通过命令⾏安装的安装包
distutils模块提供了在Python环境中构建和安装额外模块的⽀持。新的模块可以是纯粹的Python模块,也可以是C语⾔编写的扩展模块,也可以是Python这两种模块的集合。
使⽤这个模块创建可安装的⾃定义模块,我们需要先创建⼀个setup.py的脚本。
⽰例代码:
from  import setup
'''
想要学习Python?Python学习交流:984632579满⾜你的需求,资料都已经上传⽂件,可以⾃⾏下载!
'''
setup(name='⼩楼的计算器',  # 程序名称
version='1.0',  # 程序版本号
description='⼀个萌萌的计算器。',  # 程序描述
author='⼩楼⼀夜听春语',  # 程序作者
py_modules=['calculator'],  # 包含的模块列表
packages=['other_module'] , # 包含的包列表
)
当我们完成了setup脚本的设置,就可以通过命令⾏终端(CMD)进⾏⾃定义包的创建。
这⾥有⼀些命令,⾮常简单。
1、build(构建)
将现有的⾃定义模块以及关联的⽂件构建为可安装⽂件包,需要使⽤build命令。
如上图所⽰,当我们在命令⾏终端输⼊命令:python setup.py build
视频教程app这个时候,程序就⾃动的创建了⼀个build⽂件夹和该⽂件夹下的lib⼦⽂件夹,并且按照我们写好的setup.py脚本,将模块和关联的其它⽂件复制到了lib⽂件夹中,完成了安装包的构建。
所以,实际上build命令就是根据setup.py脚本,将安装包相关的内容全部复制出来,形成了⼀个新的单独的包。
2、istall(安装)
安装命令install就是在build包的基础之上进⾏安装。
实际上,在本机直接安装⾃定义模块(或第三⽅模块/包),我们⽆需执⾏build命令,在执⾏install命令的同时,程序会⾃动的先执⾏build 命令。
大学python课本电子版
如上图所⽰,当我们执⾏了命令:python setup.py install
程序⾃动的执⾏了build操作,然后将build包中的内容复制到了Python安装⽬录下的Python36\Lib\site-packages⽂件夹中,完成了⾃
3、sdist(分发)
如果想把⾃⼰开发的⾃定义模块发给他⼈并能够通过install命令进⾏安装,我们可以通过sdist命令进⾏程序发布。
如上图所⽰,当我们执⾏了命令:python setup.py sdist
程序就开始进⾏安装包的创建。
这个过程中会出现⼀些警告信息,例如没有在setup.py中设置作者的邮箱。
这些警告信息不会影响程序的发布。
当完成程序的发布,在项⽬⽂件夹下,会出现⼀个新的dist包,在这个包的⾥⾯,我们能够看到新⽣成的安装包⽂件(.),这个安装包⽂件根据setup.py脚本中的⽂件名称和版本号为命名,例如:⼩楼的计算器-1.。
这个⽣成的安装包⽂件是⼀个压缩包⽂件,解压缩之后,在命令⾏终端中进⼊解压缩后的⽬录,通过“python setup.py install”就能够完成这个模块的安装。
实际上,我们完全可以⾃⼰去创建这样的压缩包⽂件,只需要将setup.py脚本和需要发布的⽂件整理到⼀起,压缩之后发给别⼈,也能够进⾏安装。
不过,如果想做成⼀个带有安装向导界⾯的安装包,就不能⾃⼰完成了。
⼆、⽣成带有Windows中带有安装向导界⾯的安装包
⽣成带有Windows中带有安装向导界⾯的安装包也⾮常简单,只需要执⾏“bdist_wininst”命令。
当我们执⾏命令:python setup.py bdist_wininst
这个时候,程序也会⾃动的创建build包和dist包。
不过在dist包中会出现⼀个Windows可执⾏程序(exe)的⽂件,例如:⼩楼的计算器-1.
这个⽂件就可以发送给他⼈,通过双击这个⽂件会显⽰安装向导界⾯,多次点击“下⼀步”按钮就可以完成模块的安装操作。
三、⽣成Windows可执⾏程序(exe)
1、⽣成可执⾏程序
上⾯的“bdist_wininst”命令虽然能够⽣成Windows可执⾏程序,但是那只是安装模块的程序。
如果我们开发了⼀个图形界⾯程序(例如计算器),如何能够发布成能够直接双击运⾏的Windows可执⾏程序呢?
这⾥需要使⽤第三⽅库PyInstaller。
这个第三⽅库可以到官⽹下载:/downloads.html
也可以通过pip命令直接在线安装:pip install pyinstaller。
当然,也可以在PyCharm的默认设置(Default Settings)中,通过搜索模块名称进⾏安装。
注意,安装完毕之后,在Windows的环境变量添加这个库的安装路径,路径末尾以英⽂半⾓的分号“;”结束。
以Windows7默认安装路径为例,操作步骤为:计算机-属性-⾼级系统设置-环境变量-XXX的⽤户变量-
PATH,在PATH变量原有内容的前⾯添加“%APPDATA%\Python\Python36\Scripts\;”。
如果没有配置环境变量,就必须在命令⾏终端进⼊这个库的安装⽬录,才能够执⾏pyinstaller的命令。
当完成上⾯的配置,我们就可以尝试⽣成可执⾏程序的操作了。
使⽤PyInstaller不需要setup.py这个脚本⽂件,只需要执⾏pyinstaller的命令。
例如,我们想把上⾯⽰例中的calculator模块⽣成可执⾏程序。
在PyCharm中打开命令⾏终端,并在命令⾏终端执⾏命令:pyinstaller calculator.py
注意:如果是通过系统的开始菜单键⼊“cmd”打开的命令⾏窗⼝,则需要先通过DOS命令“cd 项⽬⽂件夹路径”进⼊到项⽬⽂件夹。
当命令执⾏完毕,命令提⽰符之前的⼀⾏能够看看“completed successfully.”字样,就说明程序⽣成成功了。
这个时候⾃动出现的dist包中,会包含⼀个名称为“calculator”的⽂件夹,并且⾥⾯包含了“”⽂件。
双击运⾏“”这个可执⾏程序,就能够打开这个计算器程序。
但是,这⾥会有两个问题。
运⾏可执⾏程序时,会显⽰⼀个多余的⿊⾊控制台窗⼝;
⽣成的⽂件,除了“”之外还有很多。
pycharm python安装教程
这两个问题,我们可以在执⾏“pyinstaller”命令时添加参数来解决。
-w:不显⽰控制台窗⼝
-F:只⽣成单个⽂件
删除之前⽣成的内容,我们再次尝试执⾏新的命令:pyinstaller -w -F calculator.py
这⼀次,就只⽣成了⼀个运⾏时没有控制台窗⼝的“”⽂件。
springmvc模式是什么2、为程序添加图标
⽣成的可执⾏程序可以⾃定义程序的图标。
例如,在项⽬⽂件夹中添加⼀个名称为“App.ico”的图标⽂件。
然后,我们通过pyinstaller命令添加“-i”的参数,就能够让⽣成的可执⾏程序显⽰这个图标。
具体命令:pyinstaller -w -F -i App.ico calculator.py
3、为程序添加依赖⽂件
我们开发⼀款程序,往往不是⼀个模块⽂件,还可能包含其他相关的⽂件。
那么,这些相关的⽂件,如何⼀起打包?
当我们运⾏了“pyinstaller ”命令,⽣成了⼀次可执⾏程序之后,在项⽬⽂件夹中会⾃动出现⼀个说明⽂件(.spec)。
这个说明⽂件,我们可以进⾏修改。
将说明⽂件中的语句“datas=[],”更改为“datas=[(‘⽂件路径’,’⽣成时的⽂件夹名称’)],”
例如,我们想在⽣成可执⾏程序的时候,将项⽬⽂件夹中⼀个名为“res”⽂件夹中的所有⽂件⼀起打包,并且把这些⽂件包含到⽣成的可执⾏程序⽂件夹的“resource”⽂件夹中。
那么,我们就可以将“datas”这⼀句代码写为:datas=[(‘D:\\MyProject\\other\\res\\*.*’,’resource’)],
修改为说明⽂件之后,我们就可以通过“pyinstaller ”命令执⾏这个说明⽂件:pyinstaller  calculator.spec
重新⽣成可执⾏程序⽂件成功之后,我们就能够在可执⾏程序所在的⽂件夹中看到名为“resource”⽂件夹,⾥⾯包含我们想要⼀起打包的⽂件。
本节知识点:
1、⽣成可以通过命令⾏安装的安装包;
2、⽣成带有Windows中带有安装向导界⾯的安装包;
3、⽣成Windows可执⾏程序(exe)。
本节英⽂单词与中⽂释义:
1、distutils(dist-utils):分发-实⽤⼯具
2、setup:设置
3、core:核⼼
4、version:版本
5、description:描述
6、author:作者
7、build:建造
网页上html格式视频怎么打开8、istall:安装
9、complete:完成
10、successfully:成功
11、res(resource):资源