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.

Reply via email to