导航:首页 > 编程语言 > 制作python库文件

制作python库文件

发布时间:2023-01-19 06:19:34

‘壹’ 怎么把 python 打包成 exe 可执行文件

Python是一个脚本语言,被解释器解释执行。它的发布方式:
.py文件:对于开源项目或者源码没那么重要的,直接提供源码,需要使用者自行安装Python并且安装依赖的各种库。(Python官方的各种安装包就是这样做的)
.pyc文件:有些公司或个人因为机密或者各种原因,不愿意源码被运行者看到,可以使用pyc文件发布,pyc文件是Python解释器可以识别的二进制码,故发布后也是跨平台的,需要使用者安装相应版本的Python和依赖库。
可执行文件:对于非码农用户或者一些小白用户,你让他装个Python同时还要折腾一堆依赖库,那简直是个灾难。对于此类用户,最简单的方式就是提供一个可执行文件,只需要把用法告诉Ta即可。比较麻烦的是需要针对不同平台需要打包不同的可执行文件(Windows,Linux,Mac,...)。
本文主要就是介绍最后一种方式,.py和.pyc都比较简单,Python本身就可以搞定。将Python脚本打包成可执行文件有多种方式,本文重点介绍PyInstaller,其它仅作比较和参考。
Freezing Your Code
各种打包工具的对比如下(来自文章Freezing Your Code):

Solution
Windows
Linux
OS X
Python 3
License
One-file mode
Zipfile import
Eggs
pkg_resources support

bbFreeze yes yes yes no MIT no yes yes yes
py2exe yes no no yes MIT yes yes no no
pyInstaller yes yes yes no GPL yes no yes no
cx_Freeze yes yes yes yes PSF no yes yes no
py2app no no yes yes MIT no yes yes yes
PS.其中pyInstaller和cx_Freeze都是不错的,stackoverflow上也有人建议用cx_Freeze,说是更便捷些。pkg_resources新版的pyInstaller貌似是支持的。
安装PyInstaller
对于那些网络比较稳定,能够流畅使用pip源地址的用户,直接下面的命令就可以搞定:
pip install pyinstaller

通常我们会下载源码包,然后进入包目录,执行下面的命令(需要安装setuptools):
python setup.py install

安装完后,检查安装成功与否:
pyinstaller --version

安装成功后,就可以使用下面的命令了:
pyinstaller : 打包可执行文件的主要命令,详细用法下面会介绍。
pyi-archive_viewer : 查看可执行包里面的文件列表。
pyi-bindepend : 查看可执行文件依赖的动态库(.so或.dll文件)
pyi-... : 等等。
使用PyInstaller
pyinstaller的语法:
pyinstaller [options] script [script ...] | specfile

最简单的用法,在和myscript.py同目录下执行命令:
pyinstaller mycript.py

然后会看到新增加了两个目录build和dist,dist下面的文件就是可以发布的可执行文件,对于上面的命令你会发现dist目录下面有一堆文件,各种都动态库文件和myscrip可执行文件。有时这样感觉比较麻烦,需要打包dist下面的所有东西才能发布,万一丢掉一个动态库就无法运行了,好在pyInstaller支持单文件模式,只需要执行:
pyinstaller -F mycript.py

你会发现dist下面只有一个可执行文件,这个单文件就可以发布了,可以运行在你正在使用的操作系统类似的系统的下面。
当然,pyinstaller还有各种选项,有通用选项,如-d选项用于debug,了解pyInstaller执行的过程;还有一些针对不同平台的选项,具体用法可以访问PyInstaller官方WIKI。
在执行pyInstaller命令的时候,会在和脚本相同目录下,生成一个.spec文件,该文件会告诉pyinstaller如何处理你的所有脚本,同时包含了命令选项。一般我们不用去理会这个文件,若需要打包数据文件,或者给打包的二进制增加一些Python的运行时选项时...一些高级打包选项时,需要手动编辑.spec文件。可以使用:
pyi-makespec options script [script ...]

创建一个.spec文件,对于手动编辑的.spec文件,我们可以使用下面任意一条命令:
pyinstaller specfile
pyi-build specfile

PyInstaller的原理简介
PyInstaller其实就是把python解析器和你自己的脚本打包成一个可执行的文件,和编译成真正的机器码完全是两回事,所以千万不要指望成打包成一个可执行文件会提高运行效率,相反可能会降低运行效率,好处就是在运行者的机器上不用安装python和你的脚本依赖的库。在Linux操作系统下,它主要用的binutil工具包里面的ldd和objmp命令。
PyInstaller输入你指定的的脚本,首先分析脚本所依赖的其他脚本,然后去查找,复制,把所有相关的脚本收集起来,包括Python解析器,然后把这些文件放在一个目录下,或者打包进一个可执行文件里面。
可以直接发布输出的整个文件夹里面的文件,或者生成的可执行文件。你只需要告诉用户,你的应用App是自我包含的,不需要安装其他包,或某个版本的Python,就可以直接运行了。
需要注意的是,PyInstaller打包的执行文件,只能在和打包机器系统同样的环境下。也就是说,不具备可移植性,若需要在不同系统上运行,就必须针对该平台进行打包。

‘贰’ Python引入第三方库之后能转为exe文件吗

可以 的。
我经常使用的是 py2exe 或 PyInstaller
这两个都可以,只是偶尔会出一点问题;可能是用法不对;
一、安装 py2exe
cmd 到 python 安装目录下:Scripts 文件目录

D:\install\python\Scripts>pip install py2exe

二、把 需要转换的文件放到 python 安装目录 (D:\install\python)
三、在 D:\install\python 新建文件:setup.py, 并输入以下内容:
# -*- coding:utf-8 -*-
# 经过测试,把多个文件合并到一起会出错
from distutils.core import setup
import py2exe
# 制作 exe 文件 :ok
# console - windows 控制台程序
# windows - windows 窗口程序
# <需要制作的python文件.py >在python安装目录:即:D:\install\python
setup(console = ["需要制作的python文件.py"])
# 合并 多个文件 制作成一个exe, 可能会有问题
options = {"py2exe":{"compressed": 1, "optimize": 2, "bundle_files": 1}}
setup(console = ["需要制作的python文件.py"], options=options, zipfile=None)
四、制作完成后,结果在:D:\install\python\dist 下

一、安装 PyInstaller
cmd 到 python 安装目录下:Scripts 文件目录
D:\install\python\Scripts>pip install PyInstaller

会安装多个模块,只要不报错就不用管
1. 打包:需要制作的python文件.py(可以任意目录,目录最好不包括中文)
2. 该程序使用了第三方库: xlrd, xlwt, xlutils
3. cmd 到:安装目录下:Scripts目录,执行:
D:\install\python\Scripts>pyinstaller -F -p D:\install\python\Lib\site-packages "需要制作的python文件.py"
说明:-w : windows 窗口程序,没有-w : windows 控制台程序
-F :打包到一个exe文件中
-p : 指定第三方库目录

‘叁’ 怎样用python写文件

这个应该打开之后有会有让你让你写字的,然后你就可以把你想写的写上。

‘肆’ 如何创建python源代码文件

打开Eclipse,选择菜单中【file】》》new》》other

选择Python选项,然后选择project mondel

输入project name项目名称,运行IDE根据搭建环境选择版本

这里可以直接点击next,下一步

然后直接点击【是】,如果是【否】,开发环境将不是以Python环境

6
Python项目创建成功,可以进行Python代码编写

‘伍’ 怎样用python编写一个可扩展更新的exe程序

1. 手动制作python的exe可执行程序Python没有内建一个编译为exe的功能。给python程序的部署带来不少的麻烦。所以就会出现一些py2exe之类的很不错的工具,用于自动把.py文件编译为.exe文件。
最近抽空研究了一下手动实现类似py2exe的功能,希望加强对python的了解。结果还相当不错。把结果记录下来,与大家共享。
1.1. 原理文中所描述的方法,基于python的以下几个功能
1) python程序运行时,会在sys.path指定的路径中查找库文件。
2) python从2.3开始,支持从zip文件中import库(支持.py,.pyc和.pyo,但不支持.pyd)
3) python提供C API,让c语言的程序,可以很方便的调用python的程序
1.2. 实际步骤注:假设python安装在c:\python25目录中,最后的可执行文件放到d:\dist目录中
1) 先去c:\python25\Lib目录,把所有文件都复制出来,比如复制到d:\pythonlib目录中

‘陆’ 用 Python 库 PySimpleGUI 制作自动化办公小软件

(2)持续显示界面(Persistent window)

官网默认的库的缩写为sg,使用时建议保持统一,也是使用sg

弹窗类型:(第一种和第二种是一致的)

最后一个执行后程序会在2s左右自动退出,除了以上的简单的默认函数外,还可以手动设置参数,相关的参数如下

比如设置一个定制化的小窗口,进行相关参数的添加

输出结果:(第一个参数就是要显示的信息,可以是单个,也可多个字符串,多个字符串时候,默认换行,如果是单个字符串可以通过line_with指定每行的宽度)

当第一个参数是多个字符串时,自动换行显示(由于自动的窗体长宽很小,所以标题就没有看到,但不是代表不显示,下面的示例中就可以看到)

2.3 文字内容弹窗

采用 popup_scrolled 方法,括号中添加要显示的内容即可

输出结果为:(这里的标题就正常的显示出来了)

这个文字内容弹窗里面也有相关的设置参数,可以根据自己的需要进行设置,参数如下:(注意之前的弹窗的参数也可以在这类弹窗中使用,比如刚刚用的title)

2.4 获取用户输入的弹窗

采用 popup_get_text 方法,括号内容有点类似 input 语句中的提示语,提醒用户输入

输出结果为:(当点击Ok时候控制台输出端就会获取到用户输入的文字,如果是点击Cancel,输出端为None,这里执行了两次用户输入弹出的指令,当第一次输入后点击Ok会自动弹出第二个窗口)

该类弹窗也有自己特定的参数供选择,比如既然进行输入的操作,有时输入密码时候就不希望别人看到,就可以采用输入的显示方式,如下

测试进行密码隐藏输入,可以直接顺势将用户输入的密码也以弹窗的形式

直接采用 sg.popup_get_file 方法,括号里面的内容也是输入的提示语

选择后就会把详细的地址直接显示在输入框中,如下

那么同样该类弹出也有自己的特有属性参数设置,具体如下。里面的每个参数几乎都是超级常用的参数,可以自行测试一下。

默认后缀,这个参数也是常用的,比如在sublime中点击另存为时候,本身是py文件,在给文件命名的时候只需要输出文件名,后缀自动给添加上去了。

2.6 文件夹选择窗口

采用 sg.popup_get_folder 方法,括号里面的内容也是输入的提示语。执行程序后会弹出选择文件的窗口,鼠标选择后就会把文件夹的路径添加到输入

采用 sg.one_line_progress_meter 方法,括号中输入相关的参数设置内容

输出结果为:(会进行动态加载,直到达到100%)

当然此类弹窗也有自己特有的参数设置,如下。比如常见的设置竖直的还横向的,滚动条的上下限等。

比如尝试一下不同参数的组合输出

输出结果为:

3 制作简易压缩软件

(1)软件运行后弹出窗口让用户选择一个文件夹

(2)用户选择后再弹出窗口让用户选择压缩包保存的位置和名称

(3)用户输入完成后将该文件夹内所有的文件进行压缩打包

(4)完成压缩后再弹出一个窗口告诉用户这个压缩包的体积大小

参考代码:(主要是细节部分,对于压缩路径的设置,需要进行处理一下,不然最后解压缩的会出现很多层级的不必要文件夹)

输出结果演示如下:(完美,撒花 ヽ( )ノ

‘柒’ 怎么用python给软件写一个安装包文件

首先要定义你所谓的安装包到底是什么 如果说是把python代码打包成exe,一般是用pyinstaller(你说的自己写,没必要,这个是开源的,但代码量很大)
除了以exe的方式安装,还有种python的安装包可以理解为把你的代码制作成python库,供别人使用(类似pip install ),这个你可以去pypi官网上找到相应的方法

‘捌’ 如何将python模块放置到pypi库,如何编写python模块的安装文件使得其他开发者直接easy_install即可

不用easy_install,那个麻烦。直接用python 自带的setup.py就可以。你自己配置一个setup.py,看帮助,或者是找一个例子,分开来看。很容易的。10分钟就会了。

如果用pypy setup.py install,那么安装到pypy库里。 如果用python setup.py install 就会安装到python目录里。

‘玖’ 如何把python库文件做成动态链接库

你只能用python调用dll库,想那些底层的东西一般都是用c来写的所以下面我给您提供一个调用方式
import ctypes

dll = ctypes.WinDLL('yourDll.dll')
print dll.Sun(1+2)
print dll.count('abacadeafg',ord('a'))

阅读全文

与制作python库文件相关的资料

热点内容
at89c51编程器 浏览:341
项目经理叫醒程序员 浏览:342
autocad旋转命令 浏览:660
手机版wpsoffice怎么打包文件夹 浏览:579
在成都学车用什么app 浏览:818
grep命令管道 浏览:426
java修改重启 浏览:567
单片机供电方案 浏览:770
airpodspro一代怎么连接安卓 浏览:218
豌豆荚app上有什么游戏 浏览:283
公路商店app标签选什么 浏览:338
linuxoracle命令行登录 浏览:227
android深度休眠 浏览:173
php微信开发例子 浏览:845
医得app登录密码是什么 浏览:142
spring开发服务器地址 浏览:411
服务器上如何查看服务器的端口 浏览:678
单片机服务器编译 浏览:770
单口usb打印机服务器是什么 浏览:859
战地五开服务器要什么条件 浏览:956