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にしよう。