プログラムの事とか

お約束ですが「掲載内容は私個人の見解です」

助けて!AzureのApp ServiceでPythonが動いてくれないの

Pythonで作ったWebプロジェクトをAzureにデプロイすると動いてくれない、というお話。
Python初心者には何をしていいやら・・解決策を教えてください。

Visual Studio 2015でプロジェクトを作ります

開発環境はWindows 10 64bitです。念のため。

f:id:puni-o:20160405155308p:plain

今回はDjangoというプロジェクトテンプレートを選びました。(Bottleでやっても同じだったのでプロジェクトは何でもいいんじゃないでしょうか)

Virtual Environmentを入れます

f:id:puni-o:20160405155414p:plain

f:id:puni-o:20160405155435p:plain

Python 2.7を選びます。

Azureにデプロイします

f:id:puni-o:20160405155626p:plain

動きました。

numpyをインポートしてみます

f:id:puni-o:20160405155916p:plain

from datetime import datetime
import numpy

def home(request):

views.pyにimport numpyを追加しただけです。 ローカルで実行するとなんの問題もありませんがこれをデプロイしてAzure上で動かすと・・・

f:id:puni-o:20160405160108p:plain

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アセンブリの混在?とかおもったんだけどさっぱりわかりません。

azure.microsoft.com

上記リンクを参考にdeploy.cmdいじったりしてみましたが効果なし。

\(^o^)/オワタ