我在Python 3中编写了一个程序,它依赖于Python 2.7中的另一个程序来完成一些核心任务。它在gnunux上无缝工作,因为大多数发行版已经安装了2.7,我只需要Python 3,这一切都很好。
但现在我想将捆绑包移植到Windows,我不知道如何管理它。我有以下问题
subprocess.call(... shell=True)
and relies on Python scripts' shebangs to use the right version。据我所知,没有办法在Windows上模仿这种行为。我有我使用的所有内容的源代码,并且所有内容都在libre许可下,因此我没有编译到PE或将2.7脚本移植到3的问题,但这将是一项繁琐的工作。到目前为止,我发现的唯一解决方案是将所有内容移植到Python 3.你能想到另一个吗?
答案 0 :(得分:1)
如何使用PyInstaller?从来没有用过它,但是:
PyInstaller是一个程序,可以在Windows,Linux和Mac OS X下将Python程序转换(打包)成独立的可执行文件。
因此,您可以将程序转换为可执行文件,然后从另一个内部调用一个程序。
答案 1 :(得分:1)
所以我猜你还需要在目标系统上安装python 2.7和python 3,或者为2.7和3脚本创建单独的exe,并改变你的子进程调用来调用它们。 (你可以用你自己的python安装捆绑而不是使用标准的系统范围的python安装,但你仍然需要 更改您的子进程调用,而不是依赖于Windows默认应用程序的文件扩展名