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+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/web2py/da72c846-1b5a-448f-a51c-32be529a1935n%40googlegroups.com.