How do I deploy web2py on PythonAnywhere?

后端 未结 5 1322
走了就别回头了
走了就别回头了 2021-02-07 21:16

How do i get a basic web2py server up and running on PythonAnywhere?

相关标签:
5条回答
  • 2021-02-07 21:55

    Pastebin was down, I retrieved this from the cache.

    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)"
    
    0 讨论(0)
  • 2021-02-07 22:00

    [update - 29/05] We now have a big button on the web tab that will do all this stuff for you. Just click where it says Web2Py, fill in your admin password, and you're good to go.

    Here's the old stuff for historical interest...

    I'm a PythonAnywhere developer. We're not massive web2py experts (yet?) but I've managed to get web2py up and running like this:

    First download and unpack web2py:

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

    Go to the PythonAnywhere "Web" panel and edit your wsgi.py. Add these lines:

    import os
    import sys
    
    path = '/home/my_username/web2py'
    if path not in sys.path:
        sys.path.append(path)
    
    from wsgihandler import application
    

    replacing my_username with your username.

    You will also need to comment out the last two lines in wsgi.py, where we have the default hello world web.py application...

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

    Thanks to Juan Martinez for his instructions on this part, which you can view here: http://web2py.pythonanywhere.com/

    then open a Bash console, and cd into the main web2py folder, then run

    python web2py.py --port=80
    

    enter admin password

    press ctrl-c

    (this will generate the parameters_80.py config file)

    then go to your Web panel on PythonAnywhere, click reload web app, and things should work!

    0 讨论(0)
  • 2021-02-07 22:01

    You can also simply run this bash script:

    http://pastebin.com/zcA5A89k

    admin will be disabled because of no HTTPS unless you bypass it as in the previous post. It will create a security vulnerability.

    0 讨论(0)
  • 2021-02-07 22:12

    I have recently summarized my experience with deployment of Web2Py on PythonAnywhere here

    Hope it helps NeoToren

    0 讨论(0)
  • 2021-02-07 22:14

    I'll try to add something new to the discussion. The EASIEST way I've found is to go here when you aren't logged in. This makes it so you don't have to mess around with the terminal:

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

    Come up with a domain name, then you'll get redirected to a page showing your login information and created dashboard for that domain. From there just create an account so your app isn't erased after 24 hours. When you sign up, your app has a 3 month expiry date (if you're not paying). I believe this is a new policy. Then simply go to https://appname.pythonanywhere.com/admin and then enter the password you were given and then upload your Web2Py file into the dashboard and then visit the page.

    I'm not sure how to upload a Web2Py app on PythonAnywhere for an existing account, but that's the easiest method I've found.

    0 讨论(0)
提交回复
热议问题