我正在创建一个对文件进行排序并根据文件名合并它们的应用程序。将文件从文件浏览器拖放到小部件的列表框中时,我需要文件路径。对于Tkinter,我安装了TkDnd。我遵循了How to Install and Use TkDnD with Python 2.7 Tkinter on OSX?的指示,它对我有用。我正在使用Anaconda,并且在C:\ Users \ Anaconda3 \ tcl和C:\ Users \ Anaconda3 \ Lib \ site-packages中浏览文件夹。我正在使用Spyder和python 3.7。我从下面的命令中使可执行文件:
fmt.Println(raw["emails"].([]interface{})[0])
打开文件后,出现错误:
致命错误“ .py无法执行”
我知道这个问题与链接TkDnd有关。
我尝试使用--onedir制作可执行文件,但它仍然给我错误。但是将tkdnd2.8复制到dist后就可以了。
这是我使用TkDnd的代码:
pyinstaller --onefile -w PDF_Merger.py
drop方法仅获取pdf文件并将其设置为listBox。
到目前为止,它可以在spyder中运行,但是.exe文件给我错误。谁能告诉我如何解决此问题,或者我在代码中犯了一些错误?
答案 0 :(得分:0)
我通过使用--add-data属性从tkdnd2.8文件夹添加文件,同时使用pyinstaller生成可执行文件,解决了该问题。我能够用onefile创建它。
答案 1 :(得分:0)
这篇文章已经有几年了,但我在寻找问题时找到了它。最后我是这样解决的:
pyinstaller --onefile --add-data=C:\ProgramData\Anaconda3\tcl\tkdnd2.8\;' myfile.py