我有一个使用openslide-python的Python脚本。
openslide-python需要OpenSlide binaries are in the DLL search path on Windows。
我计划将来分发我的应用程序,我不希望用户下载OpenSlide二进制文件并设置PATH。所以我将在我的应用程序中包含OpenSlide二进制文件。
问题是必须在从OpenSlide导入任何内容之前设置PATH。
目前我有以下代码(简化为*):
import os
from io import *
os.environ['PATH'] = os.path.dirname(os.path.realpath(__file__)) + os.sep + 'openslide' + os.pathsep + os.environ[
'PATH']
from openslide import *
我意识到它与PEP 8不对应,因为我的模块级别导入不在文件顶部。
任何想法如何做得很好?
答案 0 :(得分:1)
创建文件my_path_helper.py
:
os.environ['PATH'] = os.path.dirname(os.path.realpath(__file__)) + os.sep + 'openslide' + os.pathsep + os.environ[
'PATH']
并将其放入与脚本相同的目录中。 现在导入它:
import os
from io import *
import my_path_helper
from openslide import *
这仍然违反了PEP8,因为它在第三方模块openslide
之前导入了您自己的模块。但是所有导入都在您的脚本的顶部。