首页 > 编程知识 正文

python生成linux可执行文件,python离线安装第三方库whl

时间:2023-05-05 00:16:42 阅读:46877 作者:2514

上一篇文章介绍了pyinstaller。 可以打包到包含Windows、Linux、Mac OS X、FreeBSD和Solaris and AIX等操作系统的可执行文件中。 如果只针对Windows操作系统,则py2exe非常有用。

py2exe是一种将python脚本转换为可在windows上独立运行的可执行程序*.exe的工具,可以在windows系统上运行,而无需安装python。

py2exe已经用于创建wxPython、Tkinter、Pmw、PyGTK、pygame、win32 com客户端和服务器以及其他独立程序。 py2exe是在开放源代码许可证下发布的。

使用方法:

要将名为hellopython.py的python脚本(如果存在)转换为在windows上运行的可执行程序,并在未安装python的windows系统上运行,请首先使用mysetup.py

mysetup.py的例子如下:所示

python代码

1

2

3

4

5

#mysetup.py

来自

distutils.core

导入

设置

导入

py2exe

setup (控制台=[

' hellopython.py '

] )

然后,按如下方式运行mysetup.py:

pythonmysetup.pypy2exe

上面的命令将生成一个名为dist的子目录,其中包含文件helloworld.exe、python27.dll和library.zip。

如果使用编译为helloworld.py脚本的c扩展模块,则这些模块也会复制到子目录中。 同样,运行时需要所有dll文件,系统的dll文件除外。

dist子目录中的文件包含程序所需的内容。 必须一起发布此子目录中的所有内容。

默认情况下,py2exe在目录dist下创建以下必需文件:

1、一个或多个exe文件。

2、python##.dll。

3、一些. pyd文件,它们是编译的扩展名,它们是exe文件所需的; 添加其他. dll文件。 pyd需要这些. dll。

4、包含已编译的纯python模块(如. pyc或. pyo )的library.zip文件

上面的mysetup.py创建了控制台的hellopython.exe程序。 如果要为图形用户界面创建程序,只需将mysetup.py中的console=['hellopython.py']替换为windows=['hhows']

py2exe一次可以创建多个exe文件。 必须将这些脚本文件的列表传递到控制台或windows关键字参数。 如果有几个相关的脚本,这很有用。

运行以下命令时,将显示py2exe命令的所有命令行标记:

pythonmysetup.pypy2exe----help

高级功能(带入主义)! ) :

1、指定附加文件

在某些APP应用程序中,运行时可能需要其他文件,如配置文件、字体和位图。

如果在安装脚本中使用可选的data_files指定了这些附加文件,则py2exe可以将这些文件复制到dist子目录中。 data_files必须包含元组(target-dir,files )的列表。 其中files是这些附加文件的列表。

以下是示例。

#mysetup.py

fromdistutils.coreimportsetup

导入全局

importpy2exe

setup (控制台=[ ' hello python.py ' ],

data_files=[('bitmaps ',

['bm/large.gif '、' bm/small.gif']、

(fonts )表示:

glob.glob(fonts((*.fnt ) ) ]、

说明: data_files选项创建一个包含两个. gif文件的子目录distbitmaps。 包含所有. fnt文件的子目录distfonts。

2、windows nt服务

可以通过将service关键字参数传递给setup函数来构建windows nt服务

,此服务参数的值必须是包含服务类的Python模块名称的列表。

以下是示例。

#mysetup.py

fromdistutils.coreimportsetup

importpy2exe

setup (服务=[ ' my service ' ]

可以通过在随后添加特定的命令行参数标记来自行安装和卸载已构建的可执行服务。 通过在此可执行服务(exe )之后添加-help参数,可以获得更多帮助。

3、com服务器

要生成WindowsNTservices,请将com_server关键字参数传递给setup函数。 此服务参数的值必须是包含一个或多个COMserver类的Python模块名称列表。

以下是示例。

#mysetup.py

fromdistutils.coreimportsetup

importpy2exe

setup (com _ server=[ ' win32 com.server.interp ' ]

默认情况下,DLL和EXEservers正在建设中。 如果不需要的话,可以很容易地删除。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。