首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python网站托管: Numpy,Matplotlib,科学计算

Python网站托管: Numpy,Matplotlib,科学计算
EN

Stack Overflow用户
提问于 2010-01-17 05:51:56
回答 4查看 10.8K关注 0票数 44

我用Numpy/Scipy/Matplotlib编写科学软件。在我的家用电脑上开发了应用程序后,我现在对编写简单的web应用程序感兴趣。示例:用户上传图像或音频文件,我的程序使用Numpy/Scipy处理它,并使用Matplotlib在浏览器上显示输出,或者用户可以下载处理过的文件。

我已经为安装了Python2.4.3的主机支付了费用,但没有Numpy/Scipy。我也不能通过命令行访问shell。只是拖放FTP。非常有限,但我可以让简单的Python/CGI脚本工作。

令人惊讶的是,一个网络搜索揭示了很少有合适的选择与这些功能已经内置的网站托管。(如果我错了,请指导我。)我正在学习Google,但我仍然没有完全理解它的工具和局限性。网络告诉我的是,其他人也有类似的担忧。

希望能找到解决办法,我想我应该向这个令人敬畏的SO社区提出这些简单的问题:

  1. 有没有一种简单的方法可以在我已经托管的空间上安装numpy (或任何第三方包/库)?我知道托管空间上的Python路径,也知道我家计算机上相关的Python/Numpy目录。我可以简单地复制文件并让它工作吗?本地和远程系统都运行Ubuntu。
  2. 有哪些托管站点(免费或付费)已经安装了Numpy/Matplotlib,或者如果没有安装,是否有可能安装?是否有任何文档化的站点,您可以参考工作应用程序,无论有多简单?
  3. 谷歌应用引擎能在任何方面帮助我吗?或者完全是为了别的什么?您或其他人是否用它来编写Python/Numpy的科学应用程序?如果是的话,你能参考一下吗?

谢谢你的帮助。

编辑:在下面这些有用的答案之后,我在Slicehost买了20美元的计划,我很喜欢它!(我第一次尝试亚马逊EC2。我一定很蠢,但我就是不能让它开始工作。)用Apache设置Ubuntu服务器只需几个小时(我是Apache新手)。它允许我用Python和更多的东西来做我想做的事情。我现在也有了自己的版本控制远程存储库。再次感谢!

编辑2:将近两年后,我尝试了Linode和EC2 (再次)。林诺德很棒。这次EC2看起来更容易了--也许只是增加了体验,或者是亚马逊对AWS管理控制台所做的改进。对于那些对Numpy/Scipy/Matplotlib/Audiolab感兴趣的人来说,每当我启动一个EC2实例时,这里是我的Ubuntu备忘单:

代码语言:javascript
复制
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
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-01-17 07:10:09

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

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

经常这样做是很累的,而且对于编译的模块来说也不容易。如果您可以访问python主机,那么优秀的维塔列夫包允许您使用自己的库设置私有python环境。

要设置您的虚拟环境,您将在shell中执行如下操作:

代码语言:javascript
复制
$ virtualenv $HOME/my_python
$ $HOME/my_python/bin/easy_install numpy

您可以继续在您的个人python环境中运行任何您想要安装的easy_install。

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

代码语言:javascript
复制
#!/home/myuser/my_python/bin/python

import numpy

# script here

如果无法指定python (比如由mod_wsgi运行),则需要将其添加到导入路径:

代码语言:javascript
复制
import sys
sys.path.insert(0, '/home/myuser/my_python/lib/python2.5/site-packages')

import numpy

2:使用numpy托管站点

我想不出有任何托管网站可以提供numpy预安装。但是,梦想之家/Bluehost for sharedhost提供了SSH访问,使用shell access,您可以使用我前面描述的方法安装numpy。任何虚拟专用服务器(如林诺德/Slicehost )都允许您安装任何您想安装的东西。

3: AppEngine

如前所述,AppEngine将不允许您安装C扩展(但纯python扩展确实有效),因此numpy不太可能适用于您,因为我怀疑它的一些特性使用了C扩展。

票数 17
EN

Stack Overflow用户

发布于 2010-01-17 06:04:59

遗憾的是,App引擎不支持任何numpy、App或matplotlib。

如果您知道您的主机使用的是什么操作系统和CPU,您可以自己安装相同的Python,下载并安装他们使用的相同版本的Python,下载所需软件包的来源,并将它们构建到.so (或.pyd,视平台而定)文件中,并上传这些文件--听起来像是一次真正的强制。

在提供正常虚拟主机(虚拟机,通常是Linux )的许多站点中,任何一个提供少量HW资源的站点,特别是您可以使用的根权限、ssh shell访问权限和gcc,都将使更易于使用--本质上,您将像在您自己的Linux工作站上一样下载和安装所需的软件!

票数 13
EN

Stack Overflow用户

发布于 2012-05-18 17:20:31

有哪些托管站点(免费或付费)安装了Numpy/Matplotlib

PythonAnywhere提供网络托管和简单的浏览器内集成开发环境;许多Python包(包括NumPy和Matplotlib)都是预装。有一个免费的计划,你可以用来玩,“高级”和“托管”帐户的更多功能分别是5美元和10美元/月。

完全披露:我在那里工作..。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2080110

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档