Interesting I had actually put together a little script to setup my environment. The difference is that I download the source from the website instead of cloning from Github. Wondering if that could be the cause. Here's my entire script: #!/usr/bin/env bash
FILE=web2py/web2py.py echo echo "Checking for $FILE..." if [ -f "$FILE" ]; then echo "..." else echo "File does not exist." wget https://mdipierro.pythonanywhere.com/examples/static/web2py_src.zip unzip web2py_src.zip rm web2py_src.zip 2>/dev/null \ && echo "Deleted web2py_src.zip" \ || echo "Unable to delete as web2py_src.zip does not exist" fi CONFIGFILE=web2py/applications/init/private/appconfig.ini echo echo "Checking for $CONFIGFILE..." if [ -f "$CONFIGFILE" ]; then echo "..." else echo "File does not exist. Copying from welcome app..." mkdir web2py/applications/init/private cp web2py/applications/welcome/private/appconfig.ini web2py/applications/init/private sleep 2 fi if [ -f "$CONFIGFILE" ]; then echo "Starting server..." pipenv run python web2py/web2py.py -a pwd -p 7000 else echo "$CONFIGFILE file does not exist." On Sunday, May 28, 2023 at 3:04:33 AM UTC-5 Massimiliano wrote: > Sorry it's not clear that only the apt stuffs are done as root. > > Installing pyenv > curl https://pyenv.run | bash > > and from: > > pyenv install 3.7.16 > > is all done as normal user. > > > Il giorno dom 28 mag 2023 alle ore 09:55 Massimiliano <mbel...@gmail.com> > ha scritto: > >> What I can say i that with pyenv and virtualenv created in pyenv it works. >> >> Just tried on a new vm with debian 11 >> >> Steps: >> >> apt update >> apt install curl git >> >> install pyenv: >> >> curl https://pyenv.run | bash >> >> setup the build environment to build python version, from pyenv docs >> <https://github.com/pyenv/pyenv/wiki#suggested-build-environment>: >> >> apt install build-essential libssl-dev zlib1g-dev \ >> libbz2-dev libreadline-dev libsqlite3-dev curl \ >> libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev >> liblzma-dev >> >> Installing python 3.7.16: >> >> pyenv install 3.7.16 >> >> wait for the build process... >> >> adding this in .profile >> >> export PYENV_ROOT="$HOME/.pyenv" >> command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH" >> eval "$(pyenv init -)" >> eval "$(pyenv virtualenv-init -)" >> >> >> restart the shell or logout... >> >> create an virtual env based on 3.7.16: >> >> pyenv virtualenv 3.7.16 testvenv >> >> getting web2py: >> >> git clone https://github.com/web2py/web2py.git >> cd web2py/ >> git submodule update --init --recursive >> >> Activate the venv: >> >> pyenv local testvenv >> pip install requests >> >> (testvenv) max@d11:~/web2py$ ./web2py.py -S welcome >> web2py Web Framework >> Created by Massimo Di Pierro, Copyright 2007-2023 >> Version 2.24.1-stable+timestamp.2023.03.22.21.39.14 >> Database drivers available: sqlite3, imaplib, pymysql >> WARNING:web2py:import IPython error; use default python shell >> Python 3.7.16 (default, May 28 2023, 09:25:55) >> [GCC 10.2.1 20210110] on linux >> Type "help", "copyright", "credits" or "license" for more information. >> (InteractiveConsole) >> >>> import requests >> >>> >> >> >> >> >> >> >> Il giorno dom 28 mag 2023 alle ore 01:25 vald...@gmail.com < >> vald...@gmail.com> ha scritto: >> >>> I'm using pipenv to run the virtual environment. >>> >>> So I install pyenv first and then python 3.7 with it and set it to the >>> default. >>> >>> Then I install pipenv so that it uses the python 3.7 as its default. >>> >>> Then I activate the virtual environment with *pipenv shell* and then >>> run *python web2py/web2py.py -a pwd -p 7000*. >>> >>> To get the web2py shell, I run *python web2py/web2py.py -S init* >>> >>> I pretty much got the same results -- see below >>> >>> I actually have. I'm running a virtual environment with Pipenv. >>> >>> Noting essentially the same results. >>> >>> (t2d) popos@popos2004:~/code/t2d >>> $ python web2py/web2py.py -S init >>> web2py Web Framework >>> Created by Massimo Di Pierro, Copyright 2007-2023 >>> Version 2.22.5-stable+timestamp.2022.06.04.18.13.51 >>> Database drivers available: sqlite3, imaplib, pymysql >>> WARNING:web2py:import IPython error; use default python shell >>> Python 3.7.12 (default, Feb 11 2023, 17:19:18) >>> [GCC 9.3.0] on linux >>> Type "help", "copyright", "credits" or "license" for more information. >>> (InteractiveConsole) >>> >>> import sys >>> >>> print(sys.path) >>> ['', '/home/popos/code/t2d/web2py/site-packages', >>> '/home/popos/code/t2d/web2py', >>> '/home/popos/code/t2d/web2py/gluon/packages/yatl', >>> '/home/popos/code/t2d/web2py/gluon/packages/dal', >>> '/home/popos/.pyenv/versions/3.7.12/lib/python37.zip', >>> '/home/popos/.pyenv/versions/3.7.12/lib/python3.7', >>> '/home/popos/.pyenv/versions/3.7.12/lib/python3.7/lib-dynload', >>> '/home/popos/.local/share/virtualenvs/t2d-ueLDNtkj/lib/python3.7/site-packages'] >>> >>> >>> now exiting InteractiveConsole... >>> >>> The site-packages folder has the requests module files in it. >>> >>> Able to see it in plain python, but not in web2py shell or the web2py >>> app. >>> >>> >>> On Saturday, May 27, 2023 at 11:59:18 AM UTC-5 Massimiliano wrote: >>> >>> Yes it's a virtualenv also mine. >>> How do you start web2py and how do you set your virtual env for web2py? >>> >>> pyenv local yourenv >>> or what? >>> >>> Another thing. web2py.py has #!/usr/bin/env python shebang so it knows >>> what python to use. >>> >>> Have you tried to launch >>> ./web2py.py -S >>> instead of >>> python web2py.py >>> >>> as last test you can try to call web2py with the full path of your >>> virtualenv: >>> >>> <your pyenv path>/.pyenv/versions/<your venv>/bin/python web2py.py -S >>> <yourapp> >>> >>> >>> >>> Il giorno sab 27 mag 2023 alle ore 18:12 Tom Clerckx <tcle...@gmail.com> >>> ha scritto: >>> >>> With pyenv itself it goes OK, it's only when using a pyenv-virtualenv >>> that things fail. >>> I tried on two different machines. >>> >>> Newly created pyenv (3.10.6) >>> Newly created virtualenv >>> Newly unzipped web2py directory (2.24.1) >>> >>> Same result. >>> When launching the web2py-shell in the virtualenv, the import fails. >>> >>> Have you also tried with a virtualenv? >>> >>> Regards, >>> Tom. >>> >>> >>> >>> On Saturday, May 27, 2023 at 2:38:28 PM UTC+2 Massimiliano wrote: >>> >>> I'm also using pyenv and having the same paths order, ma importing >>> requests is working with no problem, on macos and on linux. >>> >>> Have you already tried to get rid of all pyc files and or to uninstall >>> and reinstall requests? >>> >>> Il giorno sab 27 mag 2023 alle ore 14:20 Tom Clerckx <tcle...@gmail.com> >>> ha scritto: >>> >>> See below. In both tests the requests library is in the last element of >>> the path. >>> >>> TEST1, plain python shell - import OK >>> >>> (test) tclerckx@stark:~/temp/test$ python >>> Python 3.10.6 (main, Jan 14 2023, 23:48:13) [GCC 11.3.0] on linux >>> Type "help", "copyright", "credits" or "license" for more information. >>> >>> import requests >>> >>> requests.__file__ >>> >>> '/home/tclerckx/.pyenv/versions/test/lib/python3.10/site-packages/requests/__init__.py' >>> >>> import sys >>> >>> sys.path >>> ['', '/home/tclerckx/.pyenv/versions/3.10.6/lib/python310.zip', >>> '/home/tclerckx/.pyenv/versions/3.10.6/lib/python3.10', >>> '/home/tclerckx/.pyenv/versions/3.10.6/lib/python3.10/lib-dynload', >>> '/home/tclerckx/.pyenv/versions/test/lib/python3.10/site-packages'] >>> >>> >>> >>> TEST2, python web2py shell - import FAILS >>> >>> (test) tclerckx@stark:~/temp/test/web2py$ python web2py.py -S welcome -M >>> web2py Web Framework >>> Created by Massimo Di Pierro, Copyright 2007-2023 >>> Version 2.24.1-stable+timestamp.2023.03.23.05.07.17 >>> Database drivers available: sqlite3, imaplib, pymysql >>> WARNING:web2py:import IPython error; use default python shell >>> Python 3.10.6 (main, Jan 14 2023, 23:48:13) [GCC 11.3.0] on linux >>> Type "help", "copyright", "credits" or "license" for more information. >>> (InteractiveConsole) >>> >>> import requests >>> Traceback (most recent call last): >>> File "/home/tclerckx/temp/test/web2py/gluon/custom_import.py", line >>> 78, in custom_importer >>> result = sys.modules[modules_prefix] >>> KeyError: 'applications.welcome.modules.requests' >>> >>> During handling of the above exception, another exception occurred: >>> >>> Traceback (most recent call last): >>> File "<console>", line 1, in <module> >>> File "/home/tclerckx/temp/test/web2py/gluon/custom_import.py", line >>> 80, in custom_importer >>> raise ImportError("No module named %s" % modules_prefix) >>> ImportError: No module named applications.welcome.modules.requests >>> >>> import sys >>> >>> sys.path >>> ['', '/home/tclerckx/temp/test/web2py/site-packages', >>> '/home/tclerckx/temp/test/web2py', >>> '/home/tclerckx/temp/test/web2py/gluon/packages/yatl', >>> '/home/tclerckx/temp/test/web2py/gluon/packages/dal', >>> '/home/tclerckx/.pyenv/versions/3.10.6/lib/python310.zip', >>> '/home/tclerckx/.pyenv/versions/3.10.6/lib/python3.10', >>> '/home/tclerckx/.pyenv/versions/3.10.6/lib/python3.10/lib-dynload', >>> '/home/tclerckx/.pyenv/versions/test/lib/python3.10/site-packages'] >>> >>> >>> >>> On Saturday, May 27, 2023 at 12:11:19 PM UTC+2 Massimiliano wrote: >>> >>> Maybe one thing you can do is to launch web2py shell and check paths. >>> >>> ./web2py.py -S <your-app-name> >>> >>> import sys >>> print(sys.path) >>> >>> >>> >>> >>> Il giorno ven 26 mag 2023 alle ore 16:02 vald...@gmail.com < >>> vald...@gmail.com> ha scritto: >>> >>> <https://stackoverflow.com/posts/76341290/timeline> >>> >>> Asked this one on SO here >>> <https://stackoverflow.com/questions/76341290/unable-to-import-requests-in-web2py-even-though-requests-is-accessible-directl> >>> >>> as I was just reminded of how much nicer this community tends to be to newb >>> questions. >>> >>> I'm attempting to integrate MSAL which requires the requests module. >>> >>> I'm running python 3.7 on Linux and using pipenv to manage the >>> environment. I'm also using web2py 2.24.1 from source (as in I download the >>> web2py framework via the source button on the web2py website). >>> >>> When I am in pipenv shell and go into the python shell, I can access the >>> requests, however when I try to access it from web2py (running in same >>> shell), I get the "module not found" error. >>> >>> When I check the site-packages folder the requests packages is present. >>> I have checked the pythonpath and seen that the path from the virtual >>> environment is present. >>> >>> When attempting to load the web2py python shell, it gives the same error. >>> >>> I'm probably missing something, but it sometimes appears as if web2py >>> does some code compilation and then uses the compiled stuff and ignores >>> code changes after a certain point. Asking as I have commented out all the >>> code involving the requests module in an effort to get the web2py shell >>> working, but still get the error and now the entire app is not working even >>> on the master branch which was previously working. >>> >>> Not sure what to try next. Any ideas are appreciated. >>> >>> -- >>> Resources: >>> - http://web2py.com >>> - http://web2py.com/book (Documentation) >>> - http://github.com/web2py/web2py (Source code) >>> - https://code.google.com/p/web2py/issues/list (Report Issues) >>> --- >>> You received this message because you are subscribed to the Google >>> Groups "web2py-users" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to web2py+un...@googlegroups.com. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/web2py/83b8a4ab-120a-4106-83f2-d37652c23093n%40googlegroups.com >>> >>> <https://groups.google.com/d/msgid/web2py/83b8a4ab-120a-4106-83f2-d37652c23093n%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> >>> >>> >>> -- >>> Massimiliano >>> >>> -- >>> Resources: >>> - http://web2py.com >>> - http://web2py.com/book (Documentation) >>> - http://github.com/web2py/web2py (Source code) >>> - https://code.google.com/p/web2py/issues/list (Report Issues) >>> --- >>> You received this message because you are subscribed to the Google >>> Groups "web2py-users" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to web2py+un...@googlegroups.com. >>> >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/web2py/9e3df18e-403a-4bd2-b42b-8c9028da601fn%40googlegroups.com >>> >>> <https://groups.google.com/d/msgid/web2py/9e3df18e-403a-4bd2-b42b-8c9028da601fn%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> >>> >>> >>> -- >>> Massimiliano >>> >>> -- >>> Resources: >>> - http://web2py.com >>> - http://web2py.com/book (Documentation) >>> - http://github.com/web2py/web2py (Source code) >>> - https://code.google.com/p/web2py/issues/list (Report Issues) >>> --- >>> You received this message because you are subscribed to the Google >>> Groups "web2py-users" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to web2py+un...@googlegroups.com. >>> >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/web2py/7e1b981a-d2fe-4af2-8e42-57acc4ca1e7cn%40googlegroups.com >>> >>> <https://groups.google.com/d/msgid/web2py/7e1b981a-d2fe-4af2-8e42-57acc4ca1e7cn%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> >>> >>> >>> -- >>> Massimiliano >>> >>> >>> -- >>> Resources: >>> - http://web2py.com >>> - http://web2py.com/book (Documentation) >>> - http://github.com/web2py/web2py (Source code) >>> - https://code.google.com/p/web2py/issues/list (Report Issues) >>> --- >>> You received this message because you are subscribed to the Google >>> Groups "web2py-users" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to web2py+un...@googlegroups.com. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/web2py/da72c846-1b5a-448f-a51c-32be529a1935n%40googlegroups.com >>> >>> <https://groups.google.com/d/msgid/web2py/da72c846-1b5a-448f-a51c-32be529a1935n%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> >> >> >> -- >> Massimiliano >> > > > -- > Massimiliano > -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/web2py/3c344817-a69f-427b-ac52-4e1b3918cd85n%40googlegroups.com.