2016-12-12 2 views
2

パンダやその他の科学ライブラリをインポートした後にFlaskがハングするのはなぜですか?それはSSH経由でローカルで実行しても動作しますが、URLを訪れてブラウザが読み込まれてロードされても何も起こりません。パンダ(またはnumpy、matplotlibなど)をインポートした後にFlaskがハングアップする

+0

は、ANを説明する別のポストがあります取り組んでいる

import pandas as pd .... @app.route('/getFunction', methods=["GET"]) def sample_get_function(): movieData=pd.read_csv('someData.csv') 

.... @app.route('/getFunction', methods=["GET"]) def sample_get_function(): import pandas as pd movieData=pd.read_csv('someData.csv') 

に関数レベルでそれらを挿入swer http://stackoverflow.com/questions/42405125/issue-with-imports-when-using-wsgi-in-ec2-instance-to-host-flask-app/43303368#43303368 –

答えて

3

解決策は、Apache2サーバーを使用するUbuntu用です。

WSGIApplicationGroup %{GLOBAL} 
+0

フラスコがぶら下がっている理由は何ですか? –

+1

@geeky_sh pandas、numpy、matplotlibなどは、Python GILを操作するための単純化されたスレッドAPIを使用しているため、Pythonによって作成された追加のサブインタープリタで正しく実行されません。そのため、WSGIアプリケーションを上記の解決策が実行している最初のインタプリタ内で実行する必要があります。 – saitam

+0

私はApache2サーバーで約1年間pandasを実行していたが、0.19.1にアップグレードしたため、これは不思議なことです。問題を把握できなかったため、サイト全体が1日ダウンしました。悲しいかな、これが解決策でした。どうもありがとう。 – pshep123

1

他のソリューションによって:

/etc/apache2/sites-available/FlaskApp.conf

がWSGIScriptAlias下の次の行を貼り付けます。次のファイルを設定する必要があります@サイタムは必要でしたが、私の場合は十分ではありませんでした。編集前と同じように

/etc/apache2/sites-available/<your-flask-app>.conf 

追加または更新WSGIApplicationGroupをして:

WSGIApplicationGroup %{GLOBAL} 

、あなたが持っていることをWSGIProcessGroupなどを削除したり、編集します。

これに設定された
WSGIProcessGroup %{GLOBAL} 

他の何か、問題は持続した。

Some peopleスレッド数を1に設定することを推奨しますが、これは必ずしも必要ではありません。以下では正常に動作します:

WSGIDaemonProcess <...> processes=2 threads=6 

Linuxバージョン:Ubuntu 14.04.3 LTS

パンダバージョン:0.19.2

Pythonのバージョン:3.4.3

Apacheのバージョン:2.4.7

3

のAfを私は最終的に私のアプリを走らせることができました。問題は、アプリケーションが.wsgiファイルにインポートされるときに構築されたパンダ0.19.2です。

解決するにはグローバルレベルとこれは非常に良い解決策はありませんが、

関連する問題