“failed to excute script xxx” PyInstaller 打包python程序为exe文件过程错误

在使用PyInstaller打包python程序,打包命令为:

pyinstaller -F -w -i manage.ico yourpyfile.py

顺便说一下几个参数的作用

要通过 C++ 调用 PyInstaller 打包Python 程序并获取返回数据,可以使用 `popen` 函数来执行 Python 程序,并通过管道获取程序的输出。具体来说,可以使用以下代码: ```cpp #include <iostream> #include <cstdio> #include <cstring> using namespace std; int main() { FILE* fp = popen("pyinstaller_program.exe arg1 arg2", "r"); if (!fp) { cout << "Error: failed to execute pyinstaller_program.exe" << endl; return 1; } char buffer[1024]; string result; while (fgets(buffer, 1024, fp)) { result += buffer; } pclose(fp); cout << "The result is: " << result << endl; return 0; } ``` 在上述代码中,我们使用 `popen` 函数执行 `pyinstaller_program.exe` 并传递两个参数 `arg1` 和 `arg2`。然后,我们通过管道获取程序的输出,并将其保存在一个字符串变量 `result` 中。最后,我们使用 `pclose` 函数关闭管道,输出字符串变量 `result`。 需要注意的是,上述代码中的 `pyinstaller_program.exe` 应该替换为你实际打包Python 程序的名称,而 `arg1` 和 `arg2` 则应该替换为你需要传递给 Python 程序的参数。在 Python 程序中,你可以通过 `sys.argv` 获取传递的参数。同时,你也需要保证 C++ 程序Python 程序在同一个目录中,或者将 Python 程序的路径作为参数传递给 `popen` 函数。 在 Python 程序中,你可以通过 `print` 函数将需要返回的数据输出到标准输出流中,然后在 C++ 程序中通过管道获取该输出。例如: ```python import sys # 将需要返回的数据输出到标准输出流中 print("The result is: ", result) # 确保数据已经被输出到标准输出流中 sys.stdout.flush() ``` 这样,当 C++ 程序通过管道获取 Python 程序的输出时,就可以得到该数据了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值