假设我有三个脚本。Main.py(包含所有导入),1.py(随机脚本),2.py(随机脚本)。
pyinstaller -F --onedir Main.py (80mb)
pyinstaller -F --onedir 1.py (80mb)
pyinstaller -F --onedir 2.py (80mb)
这将创建3个文件夹,然后我将1.exe和2.exe与所有依赖项一起复制到主文件夹中,这样就可以成功运行。
存在两个问题:
第一个问题是大小。一个文件可以将其缩小到30mb,而一个文件夹保持在80mb。
更重要的是,exe文件无法离开该文件夹。我不得不在Python中使用快捷方式。
我正在遵循this,这据说是一种解决方法。
我的问题是,如何使用pyinstaller从选择的位置读取导入,以便我可以移动可执行文件?
逻辑:
使用pyinstaller -F –onefile Main.py (15mb)
编译Main.py。
在C:\13\
创建文件夹,使exe看起来像C:\13\Main.exe
链接所有exe文件到C:\13
,使用--runtime-tmpdir PATH
。
pyinstaller -F --runtime-tmpdir C:\13 --onefile 2.py
pyinstaller -F --runtime-tmpdir C:\13 --onedir 3.py
虽然对我来说没有创建目录,但我该如何从选择的位置获取导入?
另一个可能的解决方案:
if getattr(sys, 'frozen', False):
os.path.join(sys._MEIPASS, "C:\aa")
就像您可以在 image 中看到的那样,假设我们想要使用熊猫,有几个文件可供选择...