小编GRB*_*GRB的帖子

为每个操作系统冻结python脚本

在过去的几年里,我已经在python中编写了一个很好的小程序,现在我想分发它,但是我的第一次尝试没有遇到太多的热情,因为许多潜在用户不喜欢下载和安装的想法python和运行我的应用程序所需的所有依赖项.

我环顾了几个星期寻找一个解决方案,以某种方式将我的代码编译成易于为每个人运行的东西,但我对我发现的东西并不满意.

我对冻结应用程序而不是真正编译它的想法没有任何问题.这只意味着最终用户将等待几秒钟以下载应用程序并在他/她的硬盘上占用更多空间.

我的问题是找到一种方法将所有应用程序打包成每个操作系统的可执行文件(让我们说大的:windows,mac,linux - 显然是每个操作系统的不同可执行文件),而无需安装虚拟机或葡萄酒或类似的选项.我强烈怀疑这是可能的,因为我看到一堆ren'py游戏的打包方式与我想要打包我的应用程序完全一样,但我不知道如何为我的程序获得相同的结果.

原理上,我的应用程序需要一个控制台来运行,并包含一些自制的包,numpy和matplotlib.它还有一个系统,支持多种动态包含语言文件的语言,覆盖以前的设置:

exec('from lang.%s import lang' % language)
Run Code Online (Sandbox Code Playgroud)

我怀疑这可能会产生一些问题.最后,程序需要一些文件夹来保存第一次运行中的设置,日志等,因此也应该包含这些文件夹.我的计算机运行ubuntu伙伴16.10(x64),python版本是2.7,但将来我打算将它翻译成python 3.创建的可执行文件可以是单个重文件,几乎包含所需的一切或轻量级文件,其他一切都可以发现在附近的文件夹; 我真的不喜欢一种解决方案或另一种解决方案.

我知道这个问题不时出现并且可能已经回答了,但我能找到的这类问题的最后一次出现可以追溯到2014年,如果我们考虑这个领域的变化有多快,这听起来像很久以前.

编辑:由于似乎没有我提出的条件的解决方案,我可以考虑设置一些模拟器/包装/兼容层/无论为不同的操作系统运行冰柜,但我不知道该怎么做.我在这里和那里读到,葡萄酒并不总是正常工作,并且在linux上找不到任何可以编译mac的东西.据我所知,程序不应该要求32/64位系统的不同编译,但如果有一种简单的方法来编译每种可能性它会很好.虚拟机仍然不行,现在我没有磁盘上的空间来设置两个或更多的虚拟机(这是ssd磁盘的重大缺点......),更不用说支付操作系统的许可证了每年使用几次编译一个免费软件.

python compilation cross-compiling python-2.7

21
推荐指数
2
解决办法
6538
查看次数

在Python中显示SVG文件

我正在创建一个 Python3 程序,它生成个人项目所需的带有随机圆圈的 SVG 图像。现在该程序运行完美,但我想微调一些参数以产生最佳结果。我的想法是拥有一个显示中间结果的显示窗口和一个交互式外壳来更改一些生成圆圈位置的值,而无需创建数千个不同的图像并比较它们。当我完成后,我可以简单地保存结果。

问题来了:我真的不知道如何实现这个结果。我首先想到使用 Matplotlib,它通常非常适合此类任务,但它似乎无法读取 SVG 文件。我还想过直接将圆圈绘制到图中,但其中一些圆圈必须被模糊(SVG 文件中的高斯模糊滤镜),而 Matplotlib 似乎无法模糊形状。最后,我寻找其他能够显示 SVG 文件或直接显示程序生成的文本以生成 SVG 文件的东西,但没有成功。

编辑:我刚刚尝试 CairoSVG 将 SVG 文件转换为 PNG。它可以工作,但它不支持高斯模糊,因此它是一个次优的解决方案。我可以接受将 SVG 文件转换为 PNG 或其他格式的解决方案,但我希望它至少支持高斯模糊,否则我可以简单地用 Matplotlib 绘制每个圆圈。

先谢谢您的帮助!

python svg matplotlib

5
推荐指数
1
解决办法
6000
查看次数