📅  最后修改于: 2020-05-12 05:06:51             🧑  作者: Mango
我们已经用Python创建了许多有趣的项目和程序,有时可能会创建一些非常令人兴奋的东西,并且我们想共享它。 通常,为了共享我们的Python程序,收件人将需要安装相同版本的Python,以及所有使用的模块。 嗯,这可能非常繁琐。 对于分发,转换为.exe的兴趣很高,并且有两种选择。 在Python 2.7中, Py2exe是一个不错的选择,而对于Python 3,cx_freeze可以很好地工作。
CX_Freeze | .py到.exe
cx_Freeze是一组脚本和模块,用于将Python脚本冻结为可执行文件,方式与py2exe和py2app相同。 与这两个工具不同,cx_Freeze是跨平台的,可在Python可以使用的任何平台上运行。 它支持Python 2.7或更高版本(包括Python 3)。
我们首先需要获取cx_Freeze:从此处下载或使用pip安装它:
有了cx_freeze之后,就可以开始了。 我们将使用正则表达式和urllib解析“ imangodoc.com”。
import urllib.request
import urllib.parse
import
import time
url = ' https://www.imangodoc.com/ '
values = { 's' : 'basics' ,
'submit' : 'search' }
data = urllib.parse.urlencode(values)
data = data.encode( 'utf-8' ) # 数据应为字节
req = urllib.request.Request(url, data)
resp = urllib.request.urlopen(req)
respData = resp.read()
paragraphs = re.findall(r '(.*?)
' , str (respData))
for eachParagraph in for eachParagraph paragraphs:
print (eachParagraph)
time.sleep( 14 )
输出:我们在最后添加了14秒的睡眠,以便我们可以运行可执行文件并在关闭之前查看输出。因此,我们将该文件另存为“ reandurllib.py”。
现在,我们创建另一个文件“ setup.py”
from cx_Freeze import setup, Executable
setup(name = "mangodoc" ,
version = "0.1" ,
description = "" ,
executables = [Executable( "reandurllib.py" )])
这里是从cx_Freeze安装程序和可执行文件导入的,然后我们调用安装程序函数,添加4个参数。
接下来,我们打开cmd.exe或bash或我们拥有的任何shell,导航到具有setup.py和要转换的脚本的目录,然后运行:
Python setup.py build
现在,我们得到一个构建目录。 在其中,我们找到另一个目录,在其中,我们找到可执行文件! 如果一切顺利,它应该从“imangodoc.com”解析basic的搜索结果,并在关闭前显示文本结果15秒钟。请检查如何找到可执行文件。
有些事情相对没有那么简单。 转换诸如Pygame和Matplotlib之类的东西非常困难,需要逐案解决。