如何在PythonAnywhere上部署web2py?

时间:2011-12-05 13:44:55

标签: python web2py pythonanywhere

如何启动并运行基本的web2py服务器 PythonAnywhere

5 个答案:

答案 0 :(得分:17)

[update - 29/05]我们现在在网页标签上有一个大按钮,可以为您完成所有这些操作。只需点击 Web2Py 所在的位置,填写您的管理员密码,就可以了。

以下是历史感兴趣的旧东西......

我是PythonAnywhere开发人员。我们不是大规模的web2py专家(但是?)但我设法让web2py运行起来并运行如下:

首先下载并解压缩web2py:

wget http://www.web2py.com/examples/static/web2py_src.zip
unzip web2py_src.zip

转到PythonAnywhere“Web”面板并编辑wsgi.py。添加以下行:

import os
import sys

path = '/home/my_username/web2py'
if path not in sys.path:
    sys.path.append(path)

from wsgihandler import application

用您的用户名替换my_username

你还需要在wsgi.py中注释掉最后两行,其中我们有默认的hello world web.py应用程序...

# comment out these two lines if you want to use another framework
#app = web.application(urls, globals())
#application = app.wsgifunc()

感谢Juan Martinez对此部分的指示,您可以在此处查看: http://web2py.pythonanywhere.com/

然后打开 Bash 控制台,将cd打开到主web2py文件夹中,然后运行

python web2py.py --port=80

输入管理员密码

按ctrl-c

(这将生成parameters_80.py配置文件)

然后转到PythonAnywhere上的 Web 面板,点击重新加载网络应用, 事情应该有效!

答案 1 :(得分:4)

您也可以简单地运行此bash脚本:

http://pastebin.com/zcA5A89k

管理员将因为没有HTTPS而被禁用,除非您像上一篇文章那样绕过它。它会造成安全漏洞。

答案 2 :(得分:2)

Pastebin已关闭,我从缓存中检索到了这个。

cd ~
wget -O web2py_srz.zip http://web2py.com/examples/static/web2py_src.zip
unzip web2py_src.zip
echo "
PATH = '/home/"`whoami`"/web2py'
import os
import sys
sys.stdout = sys.stderr
os.chdir(PATH)
if not './' in sys.path[:1]: sys.path.insert(0,'./')
from gluon.main import wsgibase as application
" > /var/www/wsgi.py
cd web2py
python -c "from gluon.main import save_password; save_password(raw_input('admin  password: '),433)"

答案 3 :(得分:1)

我最近总结了我在PythonAnywhere here上部署Web2Py的经验

希望它有所帮助 NeoToren

答案 4 :(得分:0)

我会尝试在讨论中添加新内容。我发现的最简单的方法是在你没有登录时去这里。这样就可以让你不必乱用终端:

https://www.pythonanywhere.com/try-web2py

想出一个域名,然后您将被重定向到显示您的登录信息的页面并为该域创建仪表板。从那里开始创建一个帐户,这样您的应用就可以在24小时后删除。当您注册时,您的应用程序有3个月的到期日期(如果您没有付款)。我相信这是一项新政策。然后只需转到https://appname.pythonanywhere.com/admin,然后输入您提供的密码,然后将您的Web2Py文件上传到信息中心,然后访问该页面。

我不确定如何在PythonAnywhere上为现有帐户上传Web2Py应用程序,但这是我找到的最简单的方法。