LoginSignup
1
0

More than 5 years have passed since last update.

windows 2008 R2でpython+tensorflow+opencvをインストールしようとしたところ

Posted at

python3.6
opencv3.4

結論

docker toolbox を使う

普通にインストールしてみる

windows2008はおっしゃられた。DLLが足りないと

  File "C:...Python\Python36\lib\site-packages\cv2\__init__.py", line 3, in <module>
    from .cv2 import *
ImportError: DLL load failed: 指定されたモジュールが見つかりません。

どのDLLが足りないのか、教えて欲しい。
該当フォルダの cv2.cp36-win_amd64.pyd が怪しいので、依存関係を探ってみる

dependency walker

http://www.dependencywalker.com/
これを使って、dependencyをwalkerしてみる

MF.DLL
MFPLAT.DLL
MFREADWRITE.DLL
API-MS-WIN-CORE-WINRT-ERROR-L1-1-0.DLL
API-MS-WIN-CORE-WINRT-L1-1-0.DLL
API-MS-WIN-CORE-WINRT-ROBUFFER-L1-1-0.DLL
API-MS-WIN-CORE-WINRT-STRING-L1-1-0.DLL
DCOMP.DLL
IESHIMS.DLL
WLANAPI.DLL

MF.DLLとAPI-MS-WIN-CORE-WINRT関連

windows multimedia foundationと、winrtランタイムが必要っぽい。
そして、どちらもwindows2008R2には入らないっぽい
オワタ\(^o^)/

dockerを入れる

仮想入れるしかない、仮想ならDockerにしよう

windowsで使える docker + linuxの種類

どのパターンでもvt-x必須

  • Docker for Windows
    Windows 10 pro対応、Hyper-VにDocker-machineが作られるっぽい。
    Hyper-vコンテナとどちらが良いの??

  • Hyper-V コンテナ
    windows 10 pro / windows server 2016以上
    OSレベルでサポートされたコンテナ、現時点では使えるならこれを使うべき。
    使ったことないけど。

  • Docker Toolbox
    Virtual BoxにLinuxなDockerMachineを作る。
    レガシィで非推奨だけど、古い環境では使うしかない。

Docker Toolboxを入れる(AWS編)

AWSのWindowsではvt-xをサポートしていないので、無理ぽ。

https://aws.amazon.com/jp/about-aws/whats-new/2018/05/announcing-general-availability-of-amazon-ec2-bare-metal-instances/
ベアメタルインスタンスを使うと行けるっぽいけど、価格がとんでもないのでとんでもない。

Docker Toolboxを入れる(Azure編)

D-V3インスタンスなら、vt-xがtrueで仮想環境を中に作れる!

https://docs.docker.com/toolbox/toolbox_install_windows/
手順にそって入れた。

オフラインで入れる場合は、*
boot2docker.isoをゲットして、
C:\Users\user_name.docker\machine\cache
へ置いておく。

動いた。
なんか何もしなくてもCPU100%使われたけど、再起動したら治った。

Tensorflow 1.9 が動かない。

Illegal instruction (core dumped) gdb tensorflow

なんかCPUのバージョンとtensorflowのビルドの関係で動かないらしい。
再ビルドするか、tensorflowのバージョンを下げるかのどちらかで対応。

今回はtensorflowのバージョンを1.5まで下げた。

補足

windows上でpython動かす場合に比べて、uwsgiを支えるのは中々大きなメリット。
自動起動とかはちゃんと考えないといけない。

結論

サーバはlinuxにしよう。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0