我有一个文件夹,其中包含3个相互依赖的python脚本,并且该文件夹还包含将传递给这些脚本的输入文件。
现在,我要将脚本从.py
转换为.exe
格式。
我知道一个名为pyinstaller
的软件包,它将我的python脚本转换为.exe格式。
但是当我使用以下代码将.py文件转换为.exe时:
pyinstaller --onefile Script1.py
以上命令成功运行。它创建了两个文件夹build
和dist
,但在dist文件夹中看不到任何Script1.exe
文件。
如果我的python脚本相互依赖,还应如何将脚本转换为.exe
。
答案 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
文件相同的程序包。