代码之家  ›  专栏  ›  技术社区  ›  JacobIRR

如何在_uinit__u;.py中断pyinstaller时正确导入文件

  •  1
  • JacobIRR  · 技术社区  · 6 年前

    我已经解决了一个问题 pyinstaller 解决我的问题的方法是移除空的 __init__.py 文件从我的树,所以我没有该文件了,一切工作正常。但是,现在我添加了更多文件,并且具有不同的文件夹结构:

    dist
    |
    +--- rating_service.exe  # created by pyinstaller
    service
    |
    +--- rating_service.py
    shared
    |
    +--- resource_globals.py
    

    在rating_service.py中,我尝试了这些导入,并得到以下错误:

    from . import shared
    

    ImportError:无法导入名称“共享”

    from .. import shared
    

    ValueError:尝试在顶级包之外进行相对导入

    import shared
    

    resource_globals 满足于我的 rating_service ?

    1 回复  |  直到 6 年前
        1
  •  2
  •   Xukrao    6 年前

    如果不可能添加任何 __init__.py 文件,然后作为您可以在 rating_service.py

    # -----------------
    # rating_service.py
    # -----------------
    import os
    import sys
    
    # Manually add the 'shared' directory to the python search paths
    file_dir = os.path.dirname(os.path.realpath(__file__))
    shared_dir = os.path.join(file_dir, '../shared')
    sys.path.insert(0, shared_dir)
    
    import resource_globals