助けて!AzureのApp ServiceでPythonが動いてくれないの
Pythonで作ったWebプロジェクトをAzureにデプロイすると動いてくれない、というお話。
Python初心者には何をしていいやら・・解決策を教えてください。
Visual Studio 2015でプロジェクトを作ります
開発環境はWindows 10 64bitです。念のため。
今回はDjangoというプロジェクトテンプレートを選びました。(Bottleでやっても同じだったのでプロジェクトは何でもいいんじゃないでしょうか)
Virtual Environmentを入れます
Python 2.7を選びます。
Azureにデプロイします
動きました。
numpyをインポートしてみます
from datetime import datetime import numpy def home(request):
views.pyにimport numpy
を追加しただけです。
ローカルで実行するとなんの問題もありませんがこれをデプロイしてAzure上で動かすと・・・
ImportError at / DLL load failed: %1 is not a valid Win32 application. Request Method: GET Request URL: http://djangowebproject120160405034136.azurewebsites.net/ Django Version: 1.9.5 Exception Type: ImportError Exception Value: DLL load failed: %1 is not a valid Win32 application. Exception Location: D:\home\site\wwwroot\env\Lib\site-packages\numpy\core\__init__.py in <module>, line 14 Python Executable: D:\Python27\python.exe Python Version: 2.7.8 Python Path: [u'D:\\home\\site\\wwwroot\\env\\Lib\\site-packages', '.', 'D:\\Windows\\SYSTEM32\\python27.zip', 'D:\\Python27\\DLLs', 'D:\\Python27\\lib', 'D:\\Python27\\lib\\plat-win', 'D:\\Python27\\lib\\lib-tk', 'D:\\Python27', 'D:\\Python27\\lib\\site-packages', 'D:\\home\\site\\wwwroot']
うん、ぜんぜんわからない。
not a valid Win32 application.
は32bitアセンブリと64bitアセンブリの混在?とかおもったんだけどさっぱりわかりません。
上記リンクを参考にdeploy.cmdいじったりしてみましたが効果なし。
\(^o^)/オワタ