首页 > 后端开发 > 正文

python 用py2exe 打包程序报错 !!! 如何打包依赖?求打救.....[抓狂]

2024-01-11 00:01:07 | 我爱编程网

今天我爱编程网小编为大家带来了python 用py2exe 打包程序报错 !!! 如何打包依赖?求打救.....[抓狂],希望能帮助到大家,一起来看看吧!

本文目录一览:

python 用py2exe 打包程序报错 !!! 如何打包依赖?求打救.....[抓狂]

Python文件打包exe的问题

1.安装使用PyInstaller需要安装PyWin32。下载与Python对应的PyInstaller版本, 解压后就算安装好了 。2.生成exe文件Python程序的目录为 F:\hello.py在命令行 中进入pyinstaller所在的目录,运行python pyinstaller.py F:\hello.py 在PyInstaller-2.1目录下,生成文件夹hellohello目录下有文件exe文件在dist目录下如果将python文件复制到 pyinstaller.py 所在目录下,则运行 python pyinstaller.py hello.py

python 用py2exe 打包程序报错 !!! 如何打包依赖?求打救.....[抓狂]

怎样将python程序及其依赖打包成rpm包部署

可以的,虽然说pip比较流行,但rpm从原理上完全可以覆盖这些部署过程,只有一些小的要求:

所有环境的Python安装方式必须一致,不能存在某些Python是2.6,某些是2.7,某些装在/usr/local下面,某些在/usr/lib下面之类的情况

如果带有C扩展的话,链接到的库应当是来自某个rpm包的。如果没有的话就简单多了。

如果有依赖的其他Python包的话,需要把依赖的包也做成rpm;实在偷懒也可以打进同一个rpm中。

实际上发行版中有许多Python库都以rpm的形式提供,不过一般我们嫌它版本旧,更倾向于用pip管理一组新的。

要写一个rpm spec,可以从头自己写,也可以参考一些其他软件的spec,我建议你采用后者,既然你们公司已经广泛使用rpm了,那肯定有很多本公司的spec可以参考,也有人可以问。我爱编程网

回到话题,写rpm spec,或者说rpmbuild的过程,分成以下步骤:

部署源代码,一般来说将一个.tar.gz复制到SRC目录中,然后用%setup宏就可以了,这个宏也基本上没干什么特别的事,就是把.tar.gz解压缩了一下,然后进入相应目录。.tar.gz只要从git中取出干净的源代码,整个目录打成tar包就可以了。好像还有专门的git-archive命令。

build过程,对应C/C++项目中的./configure, make。对Python项目来说一般可以跳过,因为setup.py都会搞定。也可以选择在这个阶段使用setup.py进行build,build出一个wheel包来,这是我推荐的方法,因为wheel包和直接setup.py install的目录结构有一些差异,而pip安装默认是按照wheel的方式。也就是说在这一步调用:setup.py bdist_wheel。再精细一点可以指定build的目标为build目录,这样需要cleanup的时候容易一些。

install过程,对应C/C++项目中的make install。一般来说我们平时怎么装这个软件,这一步就怎么装,所以我们也是使用setup.py。唯一的技巧在于,我们需要指定安装的目标到rpmbuild根的某个目录下面,而不是系统的目录。这个目录在install开始之前应当被清空。可以参考其他spec。对于我们来说,就是将Python的库安装到指定的目录,而不是系统的site-packges当中。如果你在build这一步已经打包了wheel,那么使用wheel install命令、指定目标文件夹就可以了。

打包过程,rpm的打包原理非常简单,最开始install的目录是空的,install完成后里面有了一堆文件,那么就按照文件列表将这一堆文件打包、然后指定每个文件将来应当安装到什么位置。对于Python项目来说,一般会安装package名的目录和EGGINFO两个目录,将这两个目录连同里面所有的内容一起加入%files段就可以了。如果你要部署的是某个应用,一般你还会希望将init.d中的启动脚本、或者 systemd的配置文件以及其他应用的配置文件一起部署了,可以在install的过程中将这些文件从源文件目录中复制到目标文件夹里,然后加到files段里面。

安装、卸载脚本。表现为%pre, %post之类的段一般来说如果你有服务要安装的话,需要在这里使用chkconfig, chkconfig on,或者systemd的话就是systemctl enable。如果你希望安装完有个机会修改配置文件,可以选择在首次安装的时候不要启动服务,而在update的时候启动服务,这可以通过脚本传进的第一个命令行参数$1进行判断,0、1、2表示不同的情况(分别是卸载、安装、更新,具体的记不清了),可以参考其他人写的spec;也可以选择安装完永远直接启动,在post中使用service xxx start, 在preuninstall的时候使用service xxx stop。

rpm的功能还是很强大的,除了跟pip共通的功能以外,它有一个显著的好处就是可以帮助你同时管理服务的配置、启动和停止,从而简化部署过程。不过要注意如果使用rpm的话就不要同时使用pip,否则pip更新过的库,rpm卸载或更新时会冲突。

有第三方依赖的时候,一种方法是为每个依赖项写一个独立的spec,里面内容都是上面这样的直接调用setup.py,或者更简单一些,在install的时候直接调用pip就可以;然后在需要这些依赖项的rpm包的spec当中写上Require信息,跟pip体系的requirements差不多。偷懒也可以在同一个rpm中打了一堆Python包进去,但是如果有多个独立安装的rpm都打了同一个Python包,就会冲突,要注意。

其实用习惯了会觉得也不比pip差,需要跟非Python组件混合部署的时候反而会觉得简单了很多。

python 用py2exe 打包程序报错 !!! 如何打包依赖?求打救.....[抓狂]

python 用py2exe 打包程序报错 !!! 如何打包依赖?求打救.....[抓狂]

我爱编程网(https://www.52biancheng.com)小编还为大家带来python 用py2exe 打包程序报错 !!! 如何打包依赖?求打救.....[抓狂]的相关内容。

在你自己机器上运行时,确保上面说的dll在你的文件路径下就行了。system32目录一定在你路径下,把 python27\dlls 下的几个文件复制到 exe 文件目录下试试吧。再不行,改用 pyinstaller 打包吧。我现在放弃 py2exe 改用这个了,感觉比 py2exe 好。话说 py2exe 也好久没更新了好像。

以上就是我爱编程网整理的python 用py2exe 打包程序报错 !!! 如何打包依赖?求打救.....[抓狂]相关内容,想要了解更多信息,敬请查阅我爱编程网。更多相关文章关注我爱编程网:www.52biancheng.com

免责声明:文章内容来自网络,如有侵权请及时联系删除。
与“python 用py2exe 打包程序报错 !!! 如何打包依赖?求打救.....[抓狂]”相关推荐
如何把java程序打包成exe
如何把java程序打包成exe

怎样将编译好的java程序打包成可执行文件?需要的工具myeclipse、jar2exe步骤:1、将Java项目导出成.jar包,鼠标右键项目名,选择导出2、导出的方式选择RunnableJARfile,点击next继续3、选择导出文件的路径4、 jar文件成功导出到桌面5、用工具将jar文件打包成EXE可执行文件,选择刚才导出的jar文件6、选择要导出

2024-06-07 08:15:10
如何将 JAVA 应用打包为Windows 可执行应用程序
如何将 JAVA 应用打包为Windows 可执行应用程序

如何将JAVA应用打包为Windows可执行应用程序可以参考如下内容:对于windows用户来说,将java应用程序打包成.exe最好不过了,下面是两种方法。1、用专业的应用程序打包工具InstallAnywhere,这个软件几乎能在所有平台上运行,当然你要下载到你需要的那个平台的啦!而且它也能打包成各个平台的安装程序(不止.exe啦,那么好用的东西当然是要收费的啦,但是如果你不

2024-05-21 19:13:53
如何将java源程序打包成可执行文件
如何将java源程序打包成可执行文件

如何将java源程序打包成可执行文件把java项目打包成exe可执行文件!打包跨平台的.exe文件。安装后运行左窗窗口标有十步。第1步:完全略过,直接点Next第2步:选择“JARinEXEmode”就是选择已经有制作好的jar文件。第3步:上面是项目名称,可随便填写,下面一个写出想要将打包后的exe文件输出的目录的是“桌面\project\”。

2024-05-28 18:14:14
java程序打包成exe文件(怎样将编译好的java程序打包成可执行文件?)
java程序打包成exe文件(怎样将编译好的java程序打包成可执行文件?)

java程序打包成exe文件1、首先全局快捷键Ctrl加Alt加Shift加S。2、其次新建JAR,选择有依赖关系的模块。3、最后选择要打包的项目,选择要执行的main函数和jar包路径,即可将java程序打包成exe文件。怎样将编译好的java程序打包成可执行文件?需要的工具myeclipse、jar2exe步骤:1、将Java项目导出成.jar包,鼠标右键项目名,选

2024-04-10 07:43:02
java程序怎么转文件运行 java应用程序怎样打包成可jar执行程序(java打包成可执行文件)
java程序怎么转文件运行 java应用程序怎样打包成可jar执行程序(java打包成可执行文件)

关于JAVA写出的小程序,怎样转化为可执行文件JAVA程序变成.EXE的可执行文件,是需要下载一个软件的。使用这个软件比较麻烦。最简单有效的办法是把做好的程序,达成jar包。在Windows下是可以像exe文件一样点击就可以运行。方法如下。1.File->Export->出来的界面选择java下面的jar表示导出为jar文件。2.然后进入选择工程界面,点击你要导出

2024-06-19 08:16:08
如何将jar打包成可到处运行的exe
如何将jar打包成可到处运行的exe

如何将jar打包成可到处运行的exe当我们使用java编写出软件后,想要将它制作成exe发布出来,但是一般制作出的exe文件都还需要再装一个jre才能运行,那么如何生成可到处运行的exe程序呢?今天就来教大家如何制作。首先打开exe4j将jar打包成exe文件,具体操作不在这赘述,说两个注意点就好。首先模式要选对,选jar-exe接着你要把jre放在exe输出的文件夹下,这样你选中

2024-04-19 23:13:22
java web工程打包后tomcat怎么运行的
java web工程打包后tomcat怎么运行的

javaweb工程打包后tomcat怎么运行的Tomcat的项目部署方式有以下三种:1.直接把项目复制到Tomcat安装目录的webapps目录中,这是最简单的一种Tomcat项目部署的方法,也是初学者最常用的方法。2.在tomcat安装目录中有一个conf文件夹,打开此文件夹,其中包含配置文件server.xml,打开配置文件,并在<host>和</host&gt

2024-03-23 21:49:21
如何用IE打开java小程序
如何用IE打开java小程序

求助我的IE浏览器无法执行Java脚本是不是你的程序有问题啊。拿这个测试一下<html><head><title>ok</title><scriptlanguage="javascript">alert("ok");</script></head></html>

2024-05-31 04:05:46