将多个python脚本转换为可执行格式

时间:2019-04-10 05:58:18

标签: python

我有一个文件夹,其中包含3个相互依赖的python脚本,并且该文件夹还包含将传递给这些脚本的输入文件。

现在,我要将脚本从.py转换为.exe格式。

我知道一个名为pyinstaller的软件包,它将我的python脚本转换为.exe格式。

但是当我使用以下代码将.py文件转换为.exe时:

pyinstaller --onefile Script1.py

以上命令成功运行。它创建了两个文件夹builddist,但在dist文件夹中看不到任何Script1.exe文件。

如果我的python脚本相互依赖,还应如何将脚本转换为.exe

1 个答案:

答案 0 :(得分:0)

假设所有脚本都位于这样的同一根文件夹中?

|- script1.py
|- script2.py
|- script3.py

我还假设script1.py正在调用您的以下脚本,诸如此类?

./ script1.py

from script2 import function2
from script3 import function3

def function1(*args):
    "do something with function2 and function3 here"
    data = import_data()
    new_data = function2(data)
    newer_data = function3(new_data)

您可以将脚本移动到软件包的一部分,然后围绕它编写新的包装。
树形结构现在看起来像这样。

|- script_run.py
|- myscripts
   |- __init__.py # empty file that tells python this is a python package
   |- script1.py
   |- script2.py
   |- script3.py

script_run.py

from myscripts.script1 import function1

function1()  # add whatever arguments are needed here.

由于时间很长,我不确定pyinstaller的工作方式的详细信息,但是我认为它能够确定该目录是一个程序包并进行构建您的exe本身。

注意:您可能需要调整导入语句以使用.script2来使myscripts文件夹中的脚本知道它们应该使用位于以下位置的script2.py文件相同的程序包。