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 <
valde...@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+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
> <https://groups.google.com/d/msgid/web2py/da72c846-1b5a-448f-a51c-32be529a1935n%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/CANPTPxKj6qxgDNAV_Nuc%3DcdVy4NrXPQghZ2MV%3D6KeY7fo0xCQA%40mail.gmail.com.

Reply via email to