弱弱的问一个python程序发布问题

丁劲犇 2020-02-12 10:53:41
一直都用C++、Qt,最近接触到python的东东,感觉确实很方便!不过遇到麻烦,主要在最终执行档的发布上。

首先是怎么降低小文件、碎文件的个数。网上搜索,尝试了PyInstaller,但它做不成一个真正的独立EXE,类似的打包器都是一堆小文件的压缩包,最完美的也是必须解包到临时文件夹才能运行。感觉拷贝给用户一堆小文件很讨厌。另外,依赖项真的比想象的多得多,不知道大家怎么解决的。

其次,是怎么方便的保护代码。用cython,貌似可以。但是如果使用了很多碎小的py文件,也是很烦,需要专门的脚本。如果有一种什么机质,可以把所有依赖项展开到内存中,不通过磁盘文件系统就能访问就太棒了。



...全文
337 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
crifan 2020-02-15
  • 打赏
  • 举报
回复
从要保护自己代码角度来说,的确不建议用Python,因为Python容易被反编译:
【已解决】python的pyc文件的反编译

虽然个人很喜欢Python。

丁劲犇 2020-02-15
  • 打赏
  • 举报
回复
额!网上搜索烦了,看起来python是不能真正打包为In-Memory的东东的。最终还是退回Qt了。
python可能更适合做Server端,不太适合做单机版的桌面程序,至少和Qt相比。
paullbm 2020-02-13
  • 打赏
  • 举报
回复
PyInstaller -F 不就可以制作成独立的exe程序吗?
依赖项的问题基本上没法解决,打包时除了可以去除python解释器(但目标机器必须得提前安装)。

如果有很多碎小的py文件,那你可以搞个压缩包,然后通过自解压的方式去处理。

另外,把所有依赖项展开到内存中感觉有点不切实际吧。
如果你的依赖项很多,程序运行前就全部加载到内存当中,不仅不合理,还影响运行效率吧?
丁劲犇 2020-02-13
  • 打赏
  • 举报
回复
引用 1 楼 paullbm的回复:
PyInstaller -F 不就可以制作成独立的exe程序吗?
依赖项的问题基本上没法解决,打包时除了可以去除python解释器(但目标机器必须得提前安装)。

如果有很多碎小的py文件,那你可以搞个压缩包,然后通过自解压的方式去处理。

另外,把所有依赖项展开到内存中感觉有点不切实际吧。
如果你的依赖项很多,程序运行前就全部加载到内存当中,不仅不合理,还影响运行效率吧?
F选项是打包在一起,但是运行时,还是要先来展开到临时文件夹里。额,现在只能这样做了。 试了试ramdisk,不过必须要用户安装,很不友好。

37,722

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧