Python Pyx27;无法执行脚本gui';
我用tkinter做了一个gui,它从开放的天气api获取天气数据并显示在屏幕上。 现在我想让它成为一个.exe。所以我使用pyinstaller来实现这一点,它构建到.exe时没有显示任何问题,但问题是当我尝试在Python Pyx27;无法执行脚本gui';,python,api,user-interface,tkinter,Python,Api,User Interface,Tkinter,我用tkinter做了一个gui,它从开放的天气api获取天气数据并显示在屏幕上。 现在我想让它成为一个.exe。所以我使用pyinstaller来实现这一点,它构建到.exe时没有显示任何问题,但问题是当我尝试在dist目录中执行.exe时,它会出错 我曾经使用以下命令来构建它-pyinstaller--onefilegui.py 我甚至尝试了以下代码-pyinstaller--onefile-wgui.py 还是不走运 编辑: 我还运行了'pyinstaller--onefile-cgui.
dist
目录中执行.exe时,它会出错
我曾经使用以下命令来构建它-pyinstaller--onefilegui.py
我甚至尝试了以下代码-pyinstaller--onefile-wgui.py
还是不走运
编辑:
我还运行了'pyinstaller--onefile-cgui.py',打开一个终端窗口,然后转储一堆文本,然后关闭。
转储文件:
Traceback (most recent call last):
File "gui.py", line 2, in <module>
import wforcast as forcast
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
File "c:\users\kakshipth\documents\coding\py\virtualauto\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 493, in exec_module
exec(bytecode, module.__dict__)
File "wforcast.py", line 48, in <module>
save_way('Hyderabad')
File "wforcast.py", line 33, in save_way
with open(path_to_json, 'w') as data :
FileNotFoundError: [Errno 2] No such file or directory: 'practice\\coolshitzz\\weather\\data.json'
[1488] Failed to execute script gui
回溯(最近一次呼叫最后一次):
文件“gui.py”,第2行,在
导入wforcast作为预测
文件“”,第991行,在“查找”和“加载”中
文件“”,第975行,在“查找”和“加载”中解锁
文件“”,第671行,在\u加载\u解锁
文件“c:\users\kakshipth\documents\coding\py\virtualauto\lib\site packages\PyInstaller\loader\pyimod03\u importers.py”,第493行,在exec\u模块中
exec(字节码、模块、指令)
文件“wforcast.py”,第48行,在
省道(“海得拉巴”)
文件“wforcast.py”,第33行,保存方式
以open(path_to_json,'w')作为数据:
FileNotFoundError:[Errno 2]没有这样的文件或目录:“practice\\coolshitzz\\weather\\data.json”
[1488]无法执行脚本gui
感谢您的帮助,
感谢这里唯一的问题是,到源文件的相对路径变得无效,因此出现错误,所以有两种方法可以解决这个问题 第一种方式: 使用
pyinstaller-F-w gui.py
创建exe,并将exe复制到项目目录或所有相关路径将被标识的位置
第二种方式:
删除对相对路径的调用,并使用pyinstaller-F-wgui.py创建一个exe,现在由于它没有依赖项或相对路径,因此在您的系统上应该可以正常工作
上面两个代码的作用与前面的代码相同,只是我把它缩短了,以便更快地键入
控制台只是用来识别出现的错误,您可以通过将-c
替换为-w
来摆脱控制台,或者按照上述方法使用与以前相同的代码
希望它解决了问题,如果有任何错误或疑问,一定要让我知道
干杯你把exe复制到项目目录了吗?我想,我不需要把它复制到源文件所在的地方。但是我还是这样做了,我得到了同样的错误是的,你需要把它带到源文件所在的地方,否则,代码中说的路径是错误的,因此它不会执行,无论如何,试试这个代码pyinstaller--onefile-cgui.py
并复制到项目目录,让我知道控制台中出现的错误。嘿,它可以工作。问题出在我导入的模块中,我错误地执行了其中一个函数,并且def中的路径是相对的,因此我的程序无法找到它。所以,一旦我取消了def呼叫。它现在工作得很好。但是有一个丑陋的终端窗口,上面有标签,有办法移除吗?谢谢,我发现了问题并修复了它。不过无论如何还是要谢谢你