📜  在Python中使用 CX_Freeze

📅  最后修改于: 2022-05-13 01:54:45.667000             🧑  作者: Mango

在Python中使用 CX_Freeze

我们在Python中创建了许多有趣的项目和程序。也许有一天我们创造了一些非常令人兴奋的东西,我们想分享它。通常,为了共享我们的Python程序,收件人需要安装相同版本的Python ,以及使用的所有模块。好吧,这可能很乏味。转换为 .exe 以进行分发的兴趣相当高,并且有几个选项。对于Python 2.7,Py2exe 是一个不错的选择,对于Python 3,cx_freeze 工作得非常好。

CX_冻结 | .py 到 .exe

cx_Freeze 是一组脚本和模块,用于将Python脚本冻结为可执行文件,其方式与 py2exe 和 py2app 非常相似。与这两个工具不同的是,cx_Freeze 是跨平台的,应该可以在Python本身可以运行的任何平台上运行。它支持Python 2.7 或更高版本(包括Python 3)。
我们首先需要获取 cx_Freeze: 从这里下载或使用 pip 安装它:

一旦我们有了 cx_freeze,我们就可以开始了。我们将使用正则表达式和 urllib 解析“geeksforgeeks.org”。

import urllib.request
import urllib.parse
import re
import time
  
  
url = 'https://www.geeksforgeeks.org/'
values = {'s' : 'basics',
          'submit' : 'search'}
  
data = urllib.parse.urlencode(values)
data = data.encode('utf-8') # data should be bytes
req = urllib.request.Request(url, data)
resp = urllib.request.urlopen(req)
respData = resp.read()
  
paragraphs = re.findall(r'

(.*?)

',str(respData))    for eachParagraph in paragraphs:     print(eachParagraph)    time.sleep(14)

输出:我们在最后添加了 14 秒的休眠,这样我们就可以运行可执行文件并在它关闭之前查看输出。所以,让我们将此文件保存为“reandurllib.py”。

现在,我们创建第二个名为“setup.py”的文件

from cx_Freeze import setup, Executable
  
setup(name = "GeeksforGeeks" ,
      version = "0.1" ,
      description = "" ,
      executables = [Executable("reandurllib.py")])

所以,这里我们从 cx_Freeze setup 和可执行文件导入,然后我们调用 setup函数,添加 4 个参数。

  1. name :这是我们希望我们的可执行文件的名称
  2. Version :只是给它的版本号,
  3. 描述:我们想要提供的所有细节(可选)
  4. 可执行文件这些是我们最终要转换的内容,使用可执行函数和要转换的Python脚本的路径作为参数。

接下来,我们打开 cmd.exe、bash 或任何我们拥有的 shell,导航到包含 setup.py 和要转换的脚本的目录,然后运行:

python setup.py build

现在我们得到了一个构建目录。在其中,我们找到了另一个目录,在其中,我们找到了我们的可执行文件!如果一切顺利,它应该会从 geeksforgeeks.org 解析 basic 的搜索结果,并在关闭前显示 15 秒的文本结果。检查,如何找到可执行文件:有些事情不会那么简单。转换 Pygame 和 Matplotlib 之类的东西非常困难,需要根据具体情况来解决。

参考:

  • CX_冻结
  • 文档 CX_Freeze