我正在处理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
ModuleNotFoundError:没有名为“共享”的模块
如何访问resource_globals
中的rating_service
内容?
答案 0 :(得分:2)
如果添加任何__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