質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.91%

openslide-pythonというライブラリをwindowsで使いたい

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 1,222

SakuSakuLab

score 7

実現したいこと

Pythonでopenslideという、巨大な画像を開くライブラリを使いたい(install & use)です。
正確には、pythonなのでopenslide-pythonになります。

windows (jupyter notebook上)で使えるようにしたいです。

Linux (jupyter notebook上)では普通に使っていました。

単純なことだと思います。
初学者にてやり方がわかりません。

やったこと

installの方法は、ネット上では2つのやり方が示唆されてます。
1つ目は、ココにあるように、

1,Install OpenSlide.
2,pip install openslide-python

とあります。
2はわかるのですが、
1が「どの (what)」ファイルを「どうやって(how)」インストールするのかがわかりません。

なので断念しました。

2つ目は、ココを参考にして、

1,openslideのWindows Binaries (のbinary package)をココからDL
(Cドライブに適当に置きました)
2,1の"bin" フォルダのパスをシステム環境変数Pathに追加
3,pip install openslide-python(successfully installed ver1.1.1)

と解釈して、1-3の操作を行いました。

その後、jupyter notebookで

import openslide


とだけ書いてRunすると、
Windows Binariesが32-bitだと、
以下のように、
OSError: [WinError 193] %1 is not a valid Win32 application
というエラーが出ます。

OSError                                   Traceback (most recent call last)
<ipython-input-1-bb94c1b557c7> in <module>
----> 1 import openslide

~\Anaconda3\envs\tesnsorflow_gpu_with_kivy\lib\site-packages\openslide\__init__.py in <module>
     27 from PIL import Image
     28 
---> 29 from openslide import lowlevel
     30 
     31 # For the benefit of library users

~\Anaconda3\envs\tesnsorflow_gpu_with_kivy\lib\site-packages\openslide\lowlevel.py in <module>
     39 
     40 if platform.system() == 'Windows':
---> 41     _lib = cdll.LoadLibrary('libopenslide-0.dll')
     42 elif platform.system() == 'Darwin':
     43     try:

~\Anaconda3\envs\tesnsorflow_gpu_with_kivy\lib\ctypes\__init__.py in LoadLibrary(self, name)
    424 
    425     def LoadLibrary(self, name):
--> 426         return self._dlltype(name)
    427 
    428 cdll = LibraryLoader(CDLL)

~\Anaconda3\envs\tesnsorflow_gpu_with_kivy\lib\ctypes\__init__.py in __init__(self, name, mode, handle, use_errno, use_last_error)
    346 
    347         if handle is None:
--> 348             self._handle = _dlopen(self._name, mode)
    349         else:
    350             self._handle = handle

OSError: [WinError 193] %1 is not a valid Win32 application

Windows Binariesが64-bitだと、
イメージ説明
windows上に
上の、「エントリポイントが見つかりません」という4つのエラーが出たあと、
jupyter上に
下の
OSError: [WinError 127] The specified procedure could not be found
というエラーが出ます。

OSError                                   Traceback (most recent call last)
<ipython-input-1-bb94c1b557c7> in <module>
----> 1 import openslide

~\Anaconda3\envs\tesnsorflow_gpu_with_kivy\lib\site-packages\openslide\__init__.py in <module>
     27 from PIL import Image
     28 
---> 29 from openslide import lowlevel
     30 
     31 # For the benefit of library users

~\Anaconda3\envs\tesnsorflow_gpu_with_kivy\lib\site-packages\openslide\lowlevel.py in <module>
     39 
     40 if platform.system() == 'Windows':
---> 41     _lib = cdll.LoadLibrary('libopenslide-0.dll')
     42 elif platform.system() == 'Darwin':
     43     try:

~\Anaconda3\envs\tesnsorflow_gpu_with_kivy\lib\ctypes\__init__.py in LoadLibrary(self, name)
    424 
    425     def LoadLibrary(self, name):
--> 426         return self._dlltype(name)
    427 
    428 cdll = LibraryLoader(CDLL)

~\Anaconda3\envs\tesnsorflow_gpu_with_kivy\lib\ctypes\__init__.py in __init__(self, name, mode, handle, use_errno, use_last_error)
    346 
    347         if handle is None:
--> 348             self._handle = _dlopen(self._name, mode)
    349         else:
    350             self._handle = handle

OSError: [WinError 127] The specified procedure could not be found

あと、
Python 3.6.7 (default, Jul  2 2019, 02:21:41) [MSC v.1900 64 bit (AMD64)] on win32
なのですが、
win binaries fileは64 or 32 bitどちらを使うべきなのでしょうか?

よろしくお願いします。

補足情報

OS : windows10
CPU : Intel(R)Core(TM)i9-9900X CPU @ 3.50GHz
RAM : 128 GB
64bit OS
グラボ :ZOTAC GAMING GeForce RTX 2080 AMP Edition (2台)
Python 3.6.7 (default, Jul  2 2019, 02:21:41) [MSC v.1900 64 bit (AMD64)] on win32
anaconda環境で動かしています。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

0

1が「どの (what)」ファイルを「どうやって(how)」インストールするのかがわかりません。

使用するのはWindows Binaries 32-bitでよいと思います。
Windows Binaries 64bitを使用してください。
binフォルダのDLLファイルを使っているPython.exeが置いてある同じディレクトリに置いてみてください。
※本当は64 bit windowsの32bit DLLはC:\Windows\SysWOW64に置くべきなのしれませんが最初はお勧めしません。
※本当は64 bit windowsの32bit DLLはC:\Windows\systemに置くべきなのしれませんが最初はお勧めしません。
環境変数Pathは実行ファイル(exe)の検索パスになるだけでDLLには効果はないと思います。

自分の場合はwindows10 64bit+公式Python (x86_64)なので
1.64bit版をDLし、binフォルダにあるDLLファイルすべてをPythonのインストールディレクトリ(Python.exeのあるフォルダ)に置く
1.pip install openslide-python実施
することで、Pythonのインタラクティブモードでimport openslideをPassすることができました。

.dll.debugも?

不要です。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/09/29 01:47

    夜遅くまでお疲れ様です・・・。
    32bit binaryを使ってくださいといったのは完全に私の認識誤りでした。64bit binaryで挑戦してみてください。

    キャンセル

  • 2019/09/29 02:09

    nomuken様
    (お名前間違えてすいません。)

    即レスありがとうございます。
    大変心強いです。

    64-bitでtryしてみます。
    帰宅してしまったため、
    仕切り直します。

    よろしくお願いします。

    キャンセル

  • 2019/09/29 18:25

    nomuken 様

    64-bit versionを使ったところ
    あっさりopenslideを使えるようになりました!

    ネットを調べても埒が明かず、
    途方に暮れていたところを
    助けていただき、またもや感謝です!

    おかげで今週末の締切に間に合いそうです。
    ありがとうございました!
    今後ともどうぞよろしくお願いします。
    ベストアンサーにさせていただきます。

    (備忘録)
    openslide-python windows install方法
    1,https://openslide.org/download/
    のWindows Binariesファイル
    2017-11-22 64-bit versionをDL

    2,bin内の20個の.dllファイルを copy to Anaconda3\envs\tesnsorflow_gpu_with_kivy
    (python.exeがあるフォルダ)

    3,(anaconda prompt) pip install openslide-python (tesnsorflow_gpu_with_kivyで)

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.91%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る