将多版本python应用程序移植到Windows

2024-05-19 05:06:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我用python3编写了一个程序,它依赖于python2.7中的另一个程序来完成一些核心任务。它在gnunux上可以无缝地工作,因为大多数发行版都已经安装了2.7,我只需要python3就可以了。在

但是现在我想把这个包移植到Windows,我不知道如何管理它。我有以下问题

我有我使用的所有东西的源代码,而且所有的东西都是在libre许可下的,所以我对编译到PE或将2.7脚本移植到3没有问题,但这将是一项乏味的工作。到目前为止,我找到的唯一解决方案是将所有内容移植到Python3。你能想出另一个吗?在


Tags: andthe程序核心windowswithscripts无缝
2条回答

使用PyInstaller怎么样?我从没用过,但是:

PyInstaller is a program that converts (packages) Python programs into stand-alone executables, under Windows, Linux, and Mac OS X.

http://www.pyinstaller.org/

所以你可以把两个程序都转换成可执行文件,然后从另一个内部调用一个。在

  • 最近的Python Launcher for Windows(另请参见PEP 397)可以用来模拟shebang/version行为。但是,如果您想这样做,当然必须在系统上安装不同版本的python(以及启动器,注册为.py文件的默认应用程序)
  • 像PyInstaller和py2exe这样的工具可以绑定动态导入的模块,但不能单独发现它们:您必须自己指定它们。我认为这些工具的问题是它们不能同时使用不同版本的Python来制作应用程序。在

所以我想您要么需要在目标系统上安装Python2.7和Python3,要么为2.7和3脚本生成单独的exe,然后更改子进程调用来调用它们。(您可以将python安装与您自己的安装捆绑在一起,而不是使用标准的系统范围的python安装,但是您仍然必须这样做 更改子进程调用,而不是依赖windows默认应用程序作为文件扩展名)

相关问题 更多 >

    热门问题