问题标签 [nuitka]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python-3.x - 如何将 exe 和依赖项合并到一个文件中
我有一个 exe 和一些 Nuitka 制作的依赖项。
python -m nuitka --standalone --windows-dependency-tool=pefile --experimental=use_pefile_recurse --experimental=use_pefile_fullrecurse example.py
如何像 Pyinstaller 那样将它们组合到一个文件中?
python - 如何制作 Mininet Python 脚本的可执行包?
如何制作 Mininet Python 脚本的可执行包?
我有 mininet 自定义拓扑 python 脚本,我需要在 Linux 中使可执行文件在未安装 mininet 的情况下工作。
我使它在 ubuntu-Pyinstaller 中可执行。它在安装了 mininet 的地方工作正常,但在没有安装 mininet 的其他机器上不能工作。在运行可执行文件时,它给出以下错误:
使用 NUITKA:
同样的问题,以及与上面完全相同的错误消息。
注意:我曾经在将包移动到另一台机器之前制作包的 tar.gz,然后在那里解压。
我尝试了他们用户手册中的所有命令以使其可执行但无法在第二台机器上运行......
nuitka.net/doc/user-manual.html
下面是脚本:
请告知我如何使这个mininet-python 脚本在 Linux 中的可执行包可以在没有安装 mininet 的其他机器上工作?
谢谢
python - 将 Python 程序转换为 C/C++,然后转换为 RISC-V 可执行文件
我一直在尝试在具有 RISC-V 架构的系统上运行 Python 程序。该程序涉及运行一个简单的人工神经网络模型,并涉及使用 numpy。
但是,运行在 RISC-V 架构上的操作系统(目前运行在 FPGA 上)是一个非常基础的 Linux 系统,无法安装 Python3 或 Pip 等软件。但它可以编译 C/C++ 程序并运行它们。所以我认为仍然有一种方法可以在这个系统上运行我的 Python 程序,通过在我的主机系统上将其转换为 C/C++,将其传输到 RISC-V 系统,并在那里编译它。
问题是我无法在任何地方找到好的 Python 到 C/C++ 转换器软件。我发现有一些软件工具可用于将 Python 代码转换为二进制可执行文件,例如 py2exe 和 pyinstaller。但是,如果我尝试使用 RISC-V 架构运行仅与我的主机系统架构兼容的机器代码,则无关紧要。
我还遇到了 Nuitka,它确实将 Python 代码转换为 C/C++ 并将其存储在可移植的分发文件夹中,但随后也会为我在程序中导入的库生成共享对象文件 (.so),这又不能在 RISC-V 系统上执行。此外,根据我在 Nuitka 文档中看到的内容,发行版中没有编译 C/C++ 代码的指南。
所以我有几个问题:
- 基于我提到的关于我的 RISC-V 系统的限制,我可以遵循任何其他程序在系统上运行我的 Python 程序吗?
- 如果没有,除了 Nuitka 之外,是否有任何软件工具可用于将 Python 转换为 C/C++?
- 如果没有,您能否提供一个清晰的过程,说明如何使用 Nuitka 将 Python 代码转换为 C/C++,然后在 RISC-V 系统上编译给定的 C/C++ 代码?
python-3.x - 在 Nuitka 中添加 GObject 模块
当我通过 Nuitka 编译基于 GTK 的项目时,它编译没有任何错误,但是当我运行编译文件时,它显示此错误:
而当我通过 Python 运行应用程序时它工作正常
这就是我编译项目的方式:
如何嵌入 GObject?
python-3.x - 为什么 Selenium 会覆盖我的 Firefox 配置文件
我正在制作 python selenium 脚本以使用 firefox 自动执行一些谷歌搜索。
我在 Windows 10 64b 上使用 python 3.7。
奇怪的事情发生了。当我运行我的 python 脚本时,它很好。当我用 Nuitka 编译它并运行 exe 时,Firefox 正在打开并添加了一些代理 (127.0.01:53445)。
所以我添加了这一行:
profile.set_preference("network.proxy.type", 0)
同样,脚本运行良好,但是当我编译它时,exe 会使用代理打开 Firefox。
这是一个痛苦,因为这个 127.0.01 代理创建了一个打开 google 的问题并且我的程序被破坏了。
有没有人已经面临过这种奇怪的硒行为?
python-3.x - Nuitka:没有名为“pyfiglet.fonts”的模块
运行后
它完成了构建,没有任何错误,但是当我从sample.dist目录运行构建示例文件时,它给出了
Nuitka 版本、完整的 Python 版本和平台(Windows、OSX、Linux ...)
python -m nuitka --version
- Nuitka 安装
- 示例代码
python - nuitka 创建的 exe 立即崩溃,没有错误信息
我正在尝试使用 nuitka 创建一个独立的安装程序。我使用了以下命令:
这花了一些时间,但除了一些警告(在底部)之外,这一切似乎都奏效了。但是,当我启动 exe 时,什么都没有发生。它立即崩溃。我通过单击和从命令行开始,但没有收到任何错误信息。
某处是否有任何错误信息可用?我所能做的就是尝试解决以下警告,但我不确定这是问题所在,我不知道应该如何解决它们。
python - Nuitka 和 Kivy C 扩展模块 _event.so
我正在尝试使用 Nuitka 从这个基本的 Kivy 示例 hello.py 创建一个独立的可执行文件:
当我这样做时python -m nuitka --follow-imports hello.py
,Nuitka 会创建可执行文件,但是当我运行它时,它会失败并显示
../dist-packages/kivy/event.py",第 8 行,在 import kivy._event 中没有名为 _event 的模块
_event模块实际上是Python 解释器找到并正常加载的 c 扩展模块_event.so 。
我的问题是 - 是什么导致了这个错误?我可以解决这个问题吗?
似乎 Nuitka 通常可以处理 c 扩展模块,例如python -m nuitka --follow-imports
在
即使模块bluez有一个引用_bluetooth.so扩展模块的import _bluetooth
语句,也会产生一个正常运行的可执行文件:
./hello.bin
<来自'/usr/lib/python2.7/dist-packages/bluetooth/_bluetooth.so'的模块'bluetooth._bluetooth'>
你好世界!
如果相关:系统是 MX Linux 18.3(基于 Debian Stretch)、Python 2.7.13、Kivy v1.10.1、Nuitka 0.6.8.4
我的目标是加快 Kivy 应用程序的启动时间,而不是打包应用程序以进行分发。例如,我有一个 RPI2B 嵌入式系统,在 Buildroot 生成的 Linux 上运行 Kivy 应用程序。这次冷启动需要 12 秒,其中 6 秒是 Kivy 应用启动时间。因此,例如 PyInstaller 在这里对我没有帮助,而 Nuitka 可能可以。
更新
我放弃了尝试让它与 Python 2.7 一起工作,不确定发生了什么,但我遇到了一些 Nuitka 无限优化循环问题。使用 Python 3.5 更进一步,这些是我做这件事时的笔记:
创建依赖项.py:
像这样使用它:
任何“ImportError: No module named <...>”都可以通过在 dependencies.py 中添加相应的导入语句来解决
然而,生成的可执行文件似乎并不比原始 python 脚本快。而且它不会在同一台机器上的单独 MX Linux 实例下运行,我得到了这个:
python - 轻量级 python 到可执行文件?
我一直在使用pyinstaller
将 python 文件转换为可执行文件的方法。但是,即使是打印等小型应用程序,可执行文件的大小也超过 6mb"hello world"
我做了一些研究,发现有一个程序nuitka
可以将文件编译成 C 语言并进行一些优化。然而,事实证明nuitka
仍然需要libpython
并因此创建大尺寸的可执行文件。
那么是否有任何程序或编译器可以将 python 文件转换为轻量级的可执行文件?