Skip to content

Pythonanywhere OSError: [Errno 98] Address already in use #410

@sugizo

Description

@sugizo

youtube step

follow step on
https://youtu.be/Wxjl_vkLAEY

pythonanywhere web

  • add new web app (bottle 3.8)

  • edit
    wsgi
    project_home = '/home/sugizo/apps'

pythonanywhere console

rm -rf apps/
rm -rf __pycache__/
rm -f bottle_app.py 
rm -f password.txt
python3 -m pip install --upgrade py4web --no-cache-dir --user
cat << EOF > ~/bottle_app.py
import os
from py4web.core import wsgi

# BEGIN CONFIGURATION
PASSWORD_FILENAME = 'password.txt'
DASHBOARD_MODE = 'full' or 'demo' or 'none'
APPS_FOLDER = 'apps'
# END CONFIGURATION

password_file = os.path.abspath(os.path.join(os.path.dirname(__file__), PASSWORD_FILENAME))
application = wsgi(password_file=password_file, 
                   dashboard_mode=DASHBOARD_MODE,
                   apps_folder=APPS_FOLDER)
EOF
py4web setup apps
py4web set_password

back to pythonanywhere web again

  • Click Reload web server

back to pythonanywhere console again
py4web run apps

Traceback (most recent call last):
  File "/home/sugizo/.local/bin/py4web", line 8, in <module>
    sys.exit(cli())
  File "/home/sugizo/.local/lib/python3.8/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/home/sugizo/.local/lib/python3.8/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/home/sugizo/.local/lib/python3.8/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/sugizo/.local/lib/python3.8/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/sugizo/.local/lib/python3.8/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/home/sugizo/.local/lib/python3.8/site-packages/py4web/core.py", line 1572, in run
    start_server(args)
  File "/home/sugizo/.local/lib/python3.8/site-packages/py4web/core.py", line 1286, in start_server
    bottle.run(**params)
  File "/home/sugizo/.local/bin/bottle.py", line 3137, in run
    server.run(app)
  File "/home/sugizo/.local/bin/bottle.py", line 2868, in run
    server.listen(port=self.port,address=self.host)
  File "/home/sugizo/.local/lib/python3.8/site-packages/tornado/tcpserver.py", line 151, in listen
    sockets = bind_sockets(port, address=address)
  File "/home/sugizo/.local/lib/python3.8/site-packages/tornado/netutil.py", line 161, in bind_sockets
    sock.bind(sockaddr)
OSError: [Errno 98] Address already in use

result on web browser
404
NOT FOUND

github tomcam step

follow step on
https://github.com/tomcam/py4webcasts/blob/master/docs/how-install-source-pythonanywhere.md

pythonanywhere console

rm -rf py4web/
rm -rf __pycache__/
git clone https://github.com/web2py/py4web
cd py4web
cp ~/py4web/deployment_tools/pythonanywhere.com/bottle_app.py ~/py4web/
python3 -m pip install -U --user -r requirements.txt
./py4web.py setup apps
./py4web.py set_password

pythonanywhere web

  • add new web app (bottle 3.8)
    /home/sugizo/py4web/bottle_app.py

  • edit

working directory
/home/sugizo/py4web

wsgi
project_home = '/home/sugizo/py4web/apps'

  • Click Reload web server

back to pythonanywhere console again
./py4web.py run apps

Traceback (most recent call last):
  File "/home/sugizo/.local/bin/py4web", line 8, in <module>
    sys.exit(cli())
  File "/home/sugizo/.local/lib/python3.8/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/home/sugizo/.local/lib/python3.8/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/home/sugizo/.local/lib/python3.8/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/sugizo/.local/lib/python3.8/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/sugizo/.local/lib/python3.8/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/home/sugizo/.local/lib/python3.8/site-packages/py4web/core.py", line 1572, in run
    start_server(args)
  File "/home/sugizo/.local/lib/python3.8/site-packages/py4web/core.py", line 1286, in start_server
    bottle.run(**params)
  File "/home/sugizo/.local/bin/bottle.py", line 3137, in run
    server.run(app)
  File "/home/sugizo/.local/bin/bottle.py", line 2868, in run
    server.listen(port=self.port,address=self.host)
  File "/home/sugizo/.local/lib/python3.8/site-packages/tornado/tcpserver.py", line 151, in listen
    sockets = bind_sockets(port, address=address)
  File "/home/sugizo/.local/lib/python3.8/site-packages/tornado/netutil.py", line 161, in bind_sockets
    sock.bind(sockaddr)
OSError: [Errno 98] Address already in use

result on web browser
404
NOT FOUND

quick conclusion

seems to start py4web on pythonanywhere no need to run py4web run apps, because pythonanywhere already provide (Reload button on Web Tab)

question

how to setup py4web on pythonanywhere ?

thanks and best regards,
stifan

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions