我有2个Python文件,一个是 runner.py ,另一个是 IntegrationV10.py ,还有一些其他Excel文件用于存储中间数据。 在一个文件夹中,我拥有上述所有文件。 runner.py 文件运行无限循环,并且在循环内部每秒调用一次 IntegrationV10.py 文件。
runner.py 的代码如下:
...
while True:
try:
os.system("python IntegrationV10.py")
time.sleep(1)
except KeyboardInterrupt:
break
我想将 runner.py,IntegrationV10.py 和所有Excel文件捆绑到一个简单的exe文件中。为此,我运行以下命令:
pyi-makespec runner.py IntegrationV10.py
pyinstaller runner.spec
该exe文件在 dist 文件夹中创建并运行。但是它显示以下错误:
没有名为IntegrationV10.py的文件
上面的消息显示每次运行Runner.exe时。我无法将IntegrationV10.py和excel文件捆绑在同一exe文件中。但是,当我将 dist 目录中的IntegrationV10.py和excel文件复制粘贴为Runner.exe时,它开始工作。但是我想将它们捆绑在一起,而不是复制粘贴。 请帮助我。
答案 0 :(得分:0)
请参见the documentation for pyi-makespec。您需要给它一个已经存在的文件的名称。换句话说,pyi-makespec runner.py IntegrationV10.py
失败是因为“ IntegrationV10.py”不存在(或找不到)。
在您的帖子中,您将在“ Integration10.py”和“ IntegrationV10.py”之间切换。如果将pyi-makespec runner.py IntegrationV10.py
替换为pyi-makespec runner.py Integration10.py
,该命令是否起作用?
答案 1 :(得分:0)
代替
pyi-makespec runner.py IntegrationV10.py
如果使用Windows,请尝试以下操作:
pyi-makespec --add-data "IntegrationV10.py;." runner.py
或者如果您使用的是Mac / Linux,请尝试以下操作:
pyi-makespec --add-data "IntegrationV10.py:." runner.py
This SO post很有帮助。
也要将Excel文件添加到捆绑包中,例如
pyi-makespec --add-data "IntegrationV10.py;." --add-binary "*xlsx:." runner.py
应该工作。有关详细信息,请参见https://pyinstaller.readthedocs.io/en/stable/spec-files.html#adding-binary-files。