如何在未安装Python的另一台计算机上运行Python.exe?

时间:2019-05-17 13:08:09

标签: python exe pyinstaller

我有一个使用Pyinstaller创建的Python.exe文件。当我在自己的PC上执行该命令时,它运行良好,但是如果将其移至网络上的另一台PC,则会显示错误弹出消息“检测到致命错误,无法执行脚本__”。

我需要在网络上的任何计算机上运行此Python exe,即使它们没有安装Python。

我使用下面的代码,并将所有内容打包到dist文件夹中的一个.exe文件中。

pyinstaller -F -w script.py

即使没有安装Python,我也需要在网络上的任何计算机上运行此Python.exe。这可能吗?

2 个答案:

答案 0 :(得分:1)

请注意,pyinstaller是针对其创建的特定操作系统而量身定制的(它特别取决于C的实现,由PyInstaller在ubuntu上使用glibc创建的应用与运行alpine的{​​{1}}不兼容)。 而且,它本身不是独立的可执行文件,它捆绑了Python解释器。

您可以在pyinstaller docs中找到更多信息。

我发现最简单的解决方法是使用Docker并使用multistage build创建您的应用。

如果这不是一种选择,则可能必须使用Cython或其他方法。

答案 1 :(得分:0)

我能够找到解决该问题的方法。

我重新运行没有-w的pyinstaller,并在cmd中看到错误消息“ InterfaceError:(('IM002','[IM002] [Microsoft] [ODBC驱动程序管理器]数据源名称未找到,并且未指定默认驱动程序。“

我的脚本使用了pyodbc,我正在研究,发现将驱动程序更改为"Driver={SQL Server};”。我最初将其更改为"Driver={SQL Server Native Client 11.0};",所以一旦将其更改为SQL Server,可执行文件文件在其他计算机上运行良好。