编辑3:当我需要知道脚本/可执行文件的位置时,我将__file__替换为sys.argv[0]。这并不完全相同,但在我的情况下,似乎运行良好(至少在可执行版本…)。现在一切正常,在一个文件模式下,使用accepted answer的功能访问资源文件!
编辑2:如accepted answer的评论所示,问题来自脚本中的路径解析;我试图使用__file__获取脚本的位置,以便访问其资源文件。这在打包后不起作用,因为__file__将把文件名从Python.dll返回到脚本,所以总是没有路径,只有一个文件名。因此,我必须找到另一个访问资源文件的技巧;目前的解决办法是将当前目录移到可执行路径。
顺便说一下,这意味着ConfigParser在访问文件时应该报告问题,而不是缺少一个节。
我将用解决路径解析问题的方法更新此问题。
我对pyinstaller有问题,因为这是我第一次使用它,所以肯定我做错了什么。
所以,这里的问题是:pyisntaller在我编写的脚本上平稳运行,并在dist文件夹中生成一些内容。好吧,现在我想执行它,看看是否一切顺利,我得到了以下信息:C:\Program Files\PyInstaller\pyinstaller-1.5.1>p_tool\dist\p_tool\p_tool.exe -?
Traceback (most recent call last):
File "", line 104, in
File "p_tool\build\pyi.win32\p_tool\outPYZ1.pyz/logging.config"