0

我有一个使用openslide-python的 Python 脚本。

openslide-python 要求OpenSlide 二进制文件位于 Windows 上的 DLL 搜索路径中

我计划将来分发我的应用程序,我不希望用户下载 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 不对应,因为我的模块级导入不在文件顶部。

任何想法如何使它很好?

4

1 回答 1

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。但是所有导入都在脚本的顶部。

于 2017-11-30T14:55:19.937 回答