【问题标题】:PyInstaller: FileNotFoundError: [Errno 2] No such file or directoryPyInstaller: FileNotFoundError: [Errno 2] 没有这样的文件或目录
【发布时间】:2017-05-24 16:04:47
【问题描述】:

我已经使用 PyInstaller 成功编译了我的脚本:main.py。但是,当我尝试在 dist/main 目录下运行 main.exe 应用程序时,出现以下错误:

C:\test\trunk\testalgorithm\testengine\dist\main>main.exe
Traceback (most recent call last):
  File "testengine\main.py", line 2, in <module>
  File "<frozen importlib._bootstrap>", line 969, in _find_and_load
  File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 664, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 634, in _load_backward_compatible
  File "c:\users\bot\appdata\local\programs\python\python35\lib\site-packages\Py
Installer\loader\pyimod03_importers.py", line 389, in load_module
    exec(bytecode, module.__dict__)
  File "testengine\K.py", line 5, in <module>
  File "<frozen importlib._bootstrap>", line 969, in _find_and_load
  File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 664, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 634, in _load_backward_compatible
  File "c:\users\bot\appdata\local\programs\python\python35\lib\site-packages\Py
Installer\loader\pyimod03_importers.py", line 389, in load_module
    exec(bytecode, module.__dict__)
  File "testengine\backend\data_retrieval.py", line 6, in <module>
  File "<frozen importlib._bootstrap>", line 969, in _find_and_load
  File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 664, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 634, in _load_backward_compatible
  File "c:\users\bot\appdata\local\programs\python\python35\lib\site-packages\Py
Installer\loader\pyimod03_importers.py", line 389, in load_module
    exec(bytecode, module.__dict__)
  File "alertsengine\backend\log_config.py", line 10, in <module>
  File "logging\__init__.py", line 1008, in __init__
  File "logging\__init__.py", line 1037, in _open
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\test\\trunk\\testalgorithm\\testengine\\dist\\main\\logs\\LOG_17_07_05_24_2017.log'
Failed to execute script main

我不知道没有日志文件是什么意思。

我错过了什么吗?感谢您的帮助!

【问题讨论】:

    标签: python-3.x pyinstaller


    【解决方案1】:

    您可能想要编辑您的规范文件。 运行pyinstaller main.py 后,转到主文件夹并将您的日志文件夹作为数据文件添加到您的 main.spec 文件中。在您的情况下,它应该看起来像这样:

    added_files = [
             ( './logs', 'logs' )
             ]
    
    a = Analysis(...
         datas=added_files,
         ...
         )
    

    之后,运行 pyinstaller main.spec 以重新分发您的应用。

    请注意,在那之后您可能需要添加更多数据文件。你可以阅读更多here

    【讨论】:

    • 我做到了,但我得到了同样的错误。就我而言,我正在尝试使用 MacOS 为 Tkinter Python 脚本创建一个独立的应用程序。我正在尝试包含 Tk 窗口中使用的 .jpg 和 .png 文件。我在没有 .jpg 和 .png 的情况下成功创建了它。
    • 在我的情况下,我还必须确保在使用 path.join(path.dirname(__file__), 'myfile.txt') see the docs 引用添加的文件时使用绝对路径
    猜你喜欢
    • 2016-10-19
    • 2022-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-03
    • 2021-08-24
    • 2021-03-07
    相关资源
    最近更新 更多