2017-11-30 7 views
0

私はopenslide-pythonを使用するPythonスクリプトを持っています。インポートがうまくいく前にPATHを設定するにはどうすればいいですか?

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 * 

Iがないファイルの先頭にモジュールレベルのインポートを持っているので、私は、それがPEP 8と対応していないことを認識します。

どのようにすればいいですか?

+0

'sys.path.append()'を使用しますか? –

+0

@TuwuhSそれはまだopenslideから物をインポートする前に発生する必要がありますか?はいの場合は、何も変更されません。 – DfM

+0

はい、それはなぜそれが問題だと思いますか?私は理解しているように、PEP 8によると、私のようなものホ持ってい –

答えて

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 * 

それは、サードパーティのモジュールopenslide前に、独自のモジュールをインポートので、これはまだPEP8を少し違反します。しかし、すべてのインポートはあなたのスクリプトの一番上にあります。

関連する問題