I believe web2py/gluon/shell.py", line 238 should use os.path.abspath instead of absdir?
Unpacked and ran a clean version of web2py:
command: python web2py.py -B -S welcome -M
web2py Web Framework
Created by Massimo Di Pierro, Copyright 2007-2023
Version 2.25.1-stable+timestamp.2023.10.08.18.44.43
Database drivers available: sqlite3, imaplib, pymysql, pyodbc
Traceback (most recent call last):
File "/odindrive/temp/web2pytest/web2py/web2py.py", line 58, in <module>
gluon.widget.start()
File "/odindrive/temp/web2pytest/web2py/gluon/widget.py", line 746, in start
run(options.shell, plain=options.plain, bpython=options.bpython,
File "/odindrive/temp/web2pytest/web2py/gluon/shell.py", line 238, in run
adir = os.path.absdir(os.path.join('applications', a))
AttributeError: module 'posixpath' has no attribute 'absdir'. Did you mean: 'isdir'?