在网上托管一个非平凡的python程序?

时间:2011-04-13 23:52:32

标签: python google-app-engine user-interface web-applications visualization

我是这个领域的新手,所以请原谅我的无知。

我有三个问题:

  1. 在线托管python程序的最佳(最快,最简单,最无痛)方法是什么?

    我目前正在关注Google App Engine和Web Frameworks for Python,但所有选项都有点压倒性。

  2. 哪些gui / viz库会毫无问题地转移到Web应用程序环境?

    为了简单起见,我愿意牺牲一些表现。

    (Google App Engine无法执行C库,因此导致进退两难。)

  3. 在哪里可以了解有关在本地运行程序与在服务器上连续运行程序以及接收多个用户请求的更多信息?

  4. 目前我有一个只使用标准Python库的Python程序。它目前使用大约2.7gb的ram,但随着我增加我的数据集,我预测它将使用接近6gb。我可以在我的个人机器上运行它,一切都只是很好的。我想继续在家用机器上进行前端开发,然后再实现Web应用程序。

    以下是我之前的post相关信息。

3 个答案:

答案 0 :(得分:1)

根据您对服务器管理的了解,您应该考虑使用专用服务器。我正在使用Godtdy在共享服务器上运行一些带有Numpy,Scipy,Pandas等的自定义Python模块。我写的一个程序需要120秒才能完成。最近我们切换到专用服务器,现在需要2秒钟。共享环境使用CGI来运行Python,我在专用服务器上安装了mod_python。

使用专用服务器允许对服务器进行COMPLETE控制(包括root访问),允许编译和/或安装任何内容。这有点贵,但如果你用你的东西赚钱,那可能是值得的。

另一种选择是使用类似http://www.dyndns.com/的内容,您可以在自己的计算机上托管域名。

所以说,也许有些答案:

  1. 这取决于您的要求。 ~4GB的RAM可能需要专用服务器。你问的不一定是一件容易的事,所以不要害怕弄脏你的手。

  2. 不确定你的意思。

  3. 服务器只是响应请求的计算机。在专用服务器上(我一直提到),您在Unix(或Windows)环境中运行,就像在本地运行一样。您使用SOFTWARE(例如Apache Web服务器)来处理客户端请求。我的投票是mod_python。

答案 1 :(得分:0)

这比专用服务器更令人头疼,但它应该更接近您使用Amazon EC2实例的需求。

http://aws.amazon.com/ec2/#instance

他们的额外大型实例应该足够大,足以满足您的需要,并且您只需在需要时打开实例,这样您就无法获得与专用服务器相同的大量账单尺寸。

答案 2 :(得分:0)

有一些很好的基于javascript的可视化工具包,所以你可以建模你的应用程序以返回原始(json)数据并在客户端上呈现它。 我可以提一下d3.js http://mbostock.github.com/d3/和JavaScript InfoVis Toolkit http://thejit.org/