私はNumpy/Scipy/Matplotlibで科学ソフトウェアを書いています。自宅のコンピューターでアプリケーションを開発したので、今は簡単なWebアプリケーションを作成することに興味があります。例:ユーザーが画像または音声ファイルをアップロードし、私のプログラムがNumpy / Scipyを使用してそれを処理し、出力がMatplotlibを使用してブラウザーに表示されるか、ユーザーが処理済みファイルをダウンロードできる可能性があります。
Python 2.4.3がインストールされているホスティングの料金はすでに支払っていますが、Numpy/Scipyはありません。コマンドラインからのシェルアクセスもありません。FTPをドラッグアンドドロップするだけです。かなり制限されていますが、単純なPython/CGIスクリプトを機能させることができます。
驚いたことに、Web検索では、これらの機能がすでに組み込まれているWebホスティングに適したオプションがいくつか見つかりました。(間違っている場合はご案内ください。)Google App Engineについて学習していますが、まだ完全には理解していません。ツールと制限。ウェブが私に言ったことは、他の人も同様の懸念を持っているということです。
解決策を期待して、私はこれらの簡単な質問を素晴らしいSOコミュニティに尋ねると思いました。
すでにホストされているスペースにnumpy(またはサードパーティのパッケージ/ライブラリ)をインストールする簡単な方法はありますか?ホストされているスペースのPythonパスを知っており、自宅のコンピューターの関連するPython/Numpyディレクトリを知っています。単にファイルをコピーして機能させることはできますか?ローカルシステムとリモートシステムの両方がUbuntuを実行します。
Numpy / Matplotlibがインストールされている(無料または有料の)ホスティングサイトはありますか?インストールされていない場合は、インストールする可能性がありますか?どんなに単純であっても、動作するアプリケーションで参照できる文書化されたサイトはありますか?
Google App Engineは何らかの形で私を助けてくれますか?それとも完全に何か他のもののためですか?あなたや他の人がPython/Numpyで科学アプリケーションを書くためにそれを使用しましたか?もしそうなら、あなたはそれらを参照できますか?
ご協力ありがとうございました。
編集:以下の有用な回答の後、私はSlicehostで$ 20プランを購入しました、そして私は今のところそれが大好きです!(私は最初にAmazon EC2を試しました。私は愚かであるに違いありませんが、それを機能させることができませんでした。)ApacheでUbuntuサーバーをセットアップするのにほんの数時間しかかかりませんでした(そして私はApache初心者です)。これにより、Pythonに加えてはるかに多くのことを実行できます。現在、バージョン管理用の独自のリモートリポジトリもあります。再度、感謝します!
編集2:ほぼ2年後、私はLinodeとEC2を(再び)試しました。Linodeは素晴らしいです。今回はEC2の方が簡単に見えました。おそらく、エクスペリエンスが追加されただけなのか、AmazonがAWS管理コンソールに加えた改善なのかもしれません。Numpy / Scipy / Matplotlib / Audiolabに興味のある方のために、EC2インスタンスを起動するたびにUbuntuのチートシートを示します。
ec2:~$ sudo aptitude install build-essential python-scipy ipython
python-matplotlib python-dev python-setuptools libsndfile-dev
libasound2-dev mysql-server python-mysqldb
Upload scikits.audiolab-0.11.0
ec2:~/scikits.audiolab-0.11.0$ sudo python setup.py install
ec2:~$ sudo rm -rf scikits.audiolab-0.11.0
ec2:~$ nano .ipython/ipy_user_conf.py
ip.ex('import matplotlib; matplotlib.use("Agg"); import scipy, pylab,
scipy.signal as sig, scipy.linalg as lin, scipy.sparse as spar,
os, sys, MySQLdb, boto; from scikits import audiolab')
import ipy_greedycompleter
import ipy_autoreload