【发布时间】:2019-06-12 14:22:23
【问题描述】:
我目前正在尝试制作一个依赖于调用其他 Python 和 R 脚本的跨平台 Python exe 文件。我面临的一个问题是我的 exe 文件期望我的脚本文件位于根目录中,而不是我的 exe 文件所在的目录中。我已经设法通过执行以下操作来解决此问题
if getattr(sys, 'frozen', False):
PROJECT_ROOT = sys.executable
else:
PROJECT_ROOT = os.path.dirname(os.path.abspath(__file__))
pwd = os.path.dirname(PROJECT_ROOT)
# messagebox is for the tkinter based GUI
messagebox.showinfo('Info', 'Please wait a moment')
subprocess.call(['python', pwd + '/Customs.py'], shell = False)
subprocess.call(['Rscript', pwd + '/r_script.R'], shell=False)
subprocess.call(['python', pwd + '/by_month.py'], shell = False)
messagebox.showinfo('Info', 'Processing completed)
我想知道是否有一种更简洁/更可靠的方法来减少发生可能破坏软件的错误的可能性。
我还应该提到,我已经阅读了一些关于首先将其他脚本转换为 exe 文件的内容,我想听听您对此的看法。
谢谢
【问题讨论】:
标签: python directory subprocess pyinstaller