Python的networking托pipe:Numpy,Matplotlib,科学计算

我在Numpy / Scipy / Matplotlib中编写科学软件。 在家用电脑上开发了应用程序之后,我现在对编写简单的Web应用程序感兴趣。 例如:用户上传图片或audio文件,我的程序使用Numpy / Scipy进行处理,使用Matplotlib在浏览器上显示输出,或者用户可以下载处理的文件。

我已经支付了安装了Python 2.4.3的主机,但没有Numpy / Scipy。 我没有通过命令行访问shell。 只需拖放FTP即可。 相当有限,但我可以得到简单的Python / CGI脚本工作。

令人惊讶的是,一个networkingsearch发现了几个适当的networking托pipe选项,这些function已经内置(请指导我,如果我错了)。我正在学习谷歌应用程序引擎,但我还没有完全了解其工具和限制。 networking告诉我的是,其他人也有类似的担忧。

希望能find解决办法,我想我会问这些简单的问题到真棒社区:

  1. 有没有简单的方法安装numpy(或任何第三方包/库)到我已经托pipe的空间? 我知道我的托pipe空间的Pythonpath,我知道我的家用电脑上的相关的Python / Numpy目录。 我可以简单地复制文件,并使其工作? 本地和远程系统都运行Ubuntu。

  2. 哪些托pipe网站存在(免费或付费)有Numpy / Matplotlib安装,或者,如果没有安装,安装它的可能性? 是否有任何logging的网站,您可以参考工作申请,无论多么简单?

  3. Google App Engine可以以任何方式帮助我吗? 还是完全是为了别的? 你或其他人是否用Python / Numpy编写了科学应用程序? 如果是这样,你可以参考吗?

感谢您的帮助。

编辑:在下面的有用答案后,我买了Slicehost 20美元的计划,我爱它到目前为止! (我第一次尝试亚马逊EC2,我一定很愚蠢,但是我却无法工作。)用Apache设置Ubuntu服务器只花了几个小时(而且我是一个Apache新手)。 它使我可以用Python来做更多的事情。 我现在也有自己的版本控制远程存储库。 再次感谢!

编辑2:近两年后,我试了Linode和EC2(再次)。 Linode很棒。 EC2似乎更容易一些 – 也许这只是增加了经验,或者也许是亚马逊对AWSpipe理控制台的改进。 对于那些对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 

1:将第三方包安装到托pipe空间

你确实可以安装第三方软件包到你的托pipe空间。 如果它是一个纯粹的python包,只需将其解压到一个目录,然后将该目录添加到您的PYTHONPATH环境variables或sys.path

这可能会令人厌倦,经常进行编译的模块并不容易。 如果你有shell访问你的python主机,那么优秀的virtualenv包允许你用自己的库build立一个私有的Python环境。

要设置你的virtualenv,你可以在shell中做这样的事情:

 $ virtualenv $HOME/my_python $ $HOME/my_python/bin/easy_install numpy 

你可以继续运行easy_install来安装你想要安装在你的个人python环境中的东西。

现在,当你编写你的python脚本时,如果可能的话,你将需要使用你的私有python解释器:

 #!/home/myuser/my_python/bin/python import numpy # script here 

如果您的python env不能被指定(例如,如果由mod_wsgi运行),您将需要将其添加到导入path:

 import sys sys.path.insert(0, '/home/myuser/my_python/lib/python2.5/site-packages') import numpy 

2:主持网站与numpy

我不能想到任何托pipe站点提供numpy预安装。 但是, 共享主机的Dreamhost / Bluehost提供SSH访问权限,并且通过shell访问,您可以使用上述方法安装numpy。 任何虚拟专用服务器(如Linode / Slicehost)都可以让你安装任何你想要的东西。

3:AppEngine

如上所述,AppEngine将不允许你安装C扩展(但纯Python的工作),所以它不太可能在你那里工作,因为我怀疑它的一些function使用C加速。

App Engine不支持任何numpy,scipy或matplotlib,唉。

如果您确切知道您的主机所使用的操作系统和CPU,则可以为自己做相同的安装,下载并安装它们使用的相同版本的Python,下载所需的软件包源并将其构build到.so (或.pyd ,取决于平台)文件,并上传这些 – 听起来就像一个真正的游览力量。

任何提供正常虚拟主机的虚拟主机(虚拟机,通常是Linux,具有适度的硬件资源,但是具有root用户权限,ssh shell访问权限,以及特别可以使用的gcc )将更容易工作从本质上讲,您可以像在自己的Linux工作站上那样下载和安装所需的软件。

2哪些托pipe网站(免费或付费)有Numpy / Matplotlib安装

PythonAnywhere提供虚拟主机和一个简单的浏览器中的IDE; 预装了很多Python包(包括NumPy和Matplotlib)。 有一个免费的计划,你可以用来玩耍,“高级”和“托pipe”帐户与更多的function分别是$ 5和$ 10 /月。

充分披露:我在那里工作…

我还没有评论,但我可以提供一个“答案”。

3:AppEngine

Numpy现已在Google App Engine上提供: https : //code.google.com/p/googleappengine/issues/detail? id = 190

不过,matplotlib仍在等待: http : //code.google.com/p/googleappengine/issues/detail? id = 482也许更多的人主演这个问题将会发生。

我会注意到,svgfig是一个选项,因为它是纯Python: http : //code.google.com/p/svgfig/

更新:

结果现在可以使用matplotlib: https : //developers.google.com/appengine/docs/python/tools/libraries27#matplotlib