jam-py / jam-py

Jam.py is an event-driven framework for the development of database applications with a Web interface.
http://jam-py.com
BSD 3-Clause "New" or "Revised" License
451 stars 85 forks source link

V7.18 tracebreak #276

Open platipusica opened 1 year ago

platipusica commented 1 year ago

(jam-dev) root@cmarket:/var/www/auth# python server.py Traceback (most recent call last): File "server.py", line 4, in from jam.wsgi import create_application File "/var/www/auth/jam-dev/lib/python3.8/site-packages/jam/wsgi.py", line 21, in from .secure_cookie.cookie import SecureCookie File "/var/www/auth/jam-dev/lib/python3.8/site-packages/jam/secure_cookie/cookie.py", line 110, in from werkzeug.urls import url_quote_plus ImportError: cannot import name 'url_quote_plus' from 'werkzeug.urls' (/var/www/auth/jam-dev/lib/python3.8/site-packages/werkzeug/urls.py) (jam-dev) root@cmarket:/var/www/auth# pip list |grep werk werkzeug 3.0.0

platipusica commented 1 year ago

(jam-dev) root@cmarket:/var/www/auth# pip list Package Version


certifi 2020.12.5 chardet 4.0.0
click 7.1.2
Cython 0.29.21
defusedxml 0.6.0
esprima 4.0.1
et-xmlfile 1.1.0
Flask 1.0
frozendict 2.3.8
greenlet 2.0.2
idna 2.10
isodate 0.6.0
itsdangerous 1.1.0
jam.py 7.0.18
Jinja2 2.11.2
jsmin 3.0.1
lxml 4.6.2
MarkupSafe 2.1.3
mod-wsgi 4.9.4
onelogin 3.1.6
pip 20.0.2
pkg-resources 0.0.0
pyjsparser 2.7.1
python-dateutil 2.7.5
python3-saml 1.10.0
pytz 2021.1
requests 2.25.1
setuptools 44.0.0
shuffle 0.9
six 1.15.0
SQLAlchemy 2.0.6
typing-extensions 4.3.0
urllib3 1.26.18
werkzeug 3.0.0
wheel 0.40.0
xmlsec 1.3.9

platipusica commented 1 year ago

Created new virtual env:

(jam-dev) root@cmarket:/var/www/auth# python3 -m venv project-name
(jam-dev) root@cmarket:/var/www/auth# source project-name/bin/activate
(project-name) root@cmarket:/var/www/auth# cd jam-py
(project-name) root@cmarket:/var/www/auth/jam-py# pip install .
.
.
(project-name) root@cmarket:/var/www/auth/jam-py/demo# pip list
Package           Version
----------------- -------
esprima           4.0.1  
greenlet          3.0.0  
jam.py            7.0.18 
jsmin             3.0.1  
MarkupSafe        2.1.3  
pip               20.0.2 
pkg-resources     0.0.0  
pyjsparser        2.7.1  
setuptools        44.0.0 
SQLAlchemy        2.0.22 
typing-extensions 4.8.0  
werkzeug          3.0.0  

Same issue...

platipusica commented 1 year ago

On the system where it works ok, the dependencies are different:

pip list Package Version


esprima 4.0.1
greenlet 2.0.2
jam.py 7.0.18 jsmin 3.0.1
MarkupSafe 2.1.3
pip 20.0.2 pkg-resources 0.0.0
pyjsparser 2.7.1
pymssql 2.2.7
setuptools 44.0.0 SQLAlchemy 2.0.18 typing-extensions 4.7.1 Werkzeug 2.3.6

platipusica commented 1 year ago

Create new virtual eny, installed manually versions that work on other system:

(project-name2) root@cmarket:/var/www/auth/jam-py# pip list
Package           Version
----------------- -------
esprima           4.0.1  
greenlet          2.0.2  
MarkupSafe        2.1.3  
pip               20.0.2 
pkg-resources     0.0.0  
setuptools        44.0.0 
SQLAlchemy        2.0.18 
typing-extensions 4.8.0  
Werkzeug          2.3.6  
wheel             0.41.2 

installing jam.py with pip:

(project-name2) root@cmarket:/var/www/auth/jam-py# pip install .
Processing /var/www/auth/jam-py
Requirement already satisfied: Werkzeug>=2.2.0 in /var/www/auth/project-name2/lib/python3.8/site-packages (from jam.py==7.0.18) (2.3.6)
Requirement already satisfied: esprima in /var/www/auth/project-name2/lib/python3.8/site-packages (from jam.py==7.0.18) (4.0.1)
Collecting jsmin
  Using cached jsmin-3.0.1.tar.gz (13 kB)
Collecting pyjsparser
  Using cached pyjsparser-2.7.1.tar.gz (24 kB)
Requirement already satisfied: sqlalchemy in /var/www/auth/project-name2/lib/python3.8/site-packages (from jam.py==7.0.18) (2.0.18)
Requirement already satisfied: MarkupSafe>=2.1.1 in /var/www/auth/project-name2/lib/python3.8/site-packages (from Werkzeug>=2.2.0->jam.py==7.0.18) (2.1.3)
Requirement already satisfied: greenlet!=0.4.17; platform_machine == "aarch64" or (platform_machine == "ppc64le" or (platform_machine == "x86_64" or (platform_machine == "amd64" or (platform_machine == "AMD64" or (platform_machine == "win32" or platform_machine == "WIN32"))))) in /var/www/auth/project-name2/lib/python3.8/site-packages (from sqlalchemy->jam.py==7.0.18) (2.0.2)
Requirement already satisfied: typing-extensions>=4.2.0 in /var/www/auth/project-name2/lib/python3.8/site-packages (from sqlalchemy->jam.py==7.0.18) (4.8.0)
Building wheels for collected packages: jam.py, jsmin, pyjsparser
  Building wheel for jam.py (setup.py) ... done
  Created wheel for jam.py: filename=jam.py-7.0.18-py3-none-any.whl size=3055216 sha256=133ca035ddb8f10e68d0da018c14b50066550848f2ab72300e349550697dd6f2
  Stored in directory: /root/.cache/pip/wheels/a2/2d/e9/7d3dac02d77851c1ec45691faf6002d767bee5b9862c1dd04a
  Building wheel for jsmin (setup.py) ... done
  Created wheel for jsmin: filename=jsmin-3.0.1-py3-none-any.whl size=13767 sha256=ad18d0981c4ae08d2b84f728f02c2338e3d695a276f5b336262c75a2d591753b
  Stored in directory: /root/.cache/pip/wheels/8d/2d/8f/2132d05239c9da42da8420d42c2508adb2a0ec6f68b01e2cf3
  Building wheel for pyjsparser (setup.py) ... done
  Created wheel for pyjsparser: filename=pyjsparser-2.7.1-py3-none-any.whl size=25999 sha256=f135122789c8aee296ea057668134fba00188673fca0ae789aa620d0e33c12e9
  Stored in directory: /root/.cache/pip/wheels/d5/88/34/ccb5bb40eb3178a134eb293e6c363928c5bcfba0b91031db76
Successfully built jam.py jsmin pyjsparser
Installing collected packages: jsmin, pyjsparser, jam.py
Successfully installed jam.py-7.0.18 jsmin-3.0.1 pyjsparser-2.7.1
(project-name2) root@cmarket:/var/www/auth/jam-py# cd demo/
(project-name2) root@cmarket:/var/www/auth/jam-py/demo# ./server.py 
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
 * Running on all addresses (0.0.0.0)
 * Running on http://127.0.0.1:8080
 * Running on http://95.183.50.125:8080
Press CTRL+C to quit

There is a problem here with what Jam is installing when the dependencies are not already there!

jam-py commented 1 year ago

Drazen, can you explain the problem in more detail, please.

ср, 18 окт. 2023 г. в 10:16, platipusica @.***>:

Create new virtual eny, installed manually versions that work on other system:

(project-name2) @.***:/var/www/auth/jam-py# pip list Package Version


esprima 4.0.1 greenlet 2.0.2 MarkupSafe 2.1.3 pip 20.0.2 pkg-resources 0.0.0 setuptools 44.0.0 SQLAlchemy 2.0.18 typing-extensions 4.8.0 Werkzeug 2.3.6 wheel 0.41.2

installing jam.py with pip:

(project-name2) @.:/var/www/auth/jam-py# pip install . Processing /var/www/auth/jam-py Requirement already satisfied: Werkzeug>=2.2.0 in /var/www/auth/project-name2/lib/python3.8/site-packages (from jam.py==7.0.18) (2.3.6) Requirement already satisfied: esprima in /var/www/auth/project-name2/lib/python3.8/site-packages (from jam.py==7.0.18) (4.0.1) Collecting jsmin Using cached jsmin-3.0.1.tar.gz (13 kB) Collecting pyjsparser Using cached pyjsparser-2.7.1.tar.gz (24 kB) Requirement already satisfied: sqlalchemy in /var/www/auth/project-name2/lib/python3.8/site-packages (from jam.py==7.0.18) (2.0.18) Requirement already satisfied: MarkupSafe>=2.1.1 in /var/www/auth/project-name2/lib/python3.8/site-packages (from Werkzeug>=2.2.0->jam.py==7.0.18) (2.1.3) Requirement already satisfied: greenlet!=0.4.17; platform_machine == "aarch64" or (platform_machine == "ppc64le" or (platform_machine == "x86_64" or (platform_machine == "amd64" or (platform_machine == "AMD64" or (platform_machine == "win32" or platform_machine == "WIN32"))))) in /var/www/auth/project-name2/lib/python3.8/site-packages (from sqlalchemy->jam.py==7.0.18) (2.0.2) Requirement already satisfied: typing-extensions>=4.2.0 in /var/www/auth/project-name2/lib/python3.8/site-packages (from sqlalchemy->jam.py==7.0.18) (4.8.0) Building wheels for collected packages: jam.py, jsmin, pyjsparser Building wheel for jam.py (setup.py) ... done Created wheel for jam.py: filename=jam.py-7.0.18-py3-none-any.whl size=3055216 sha256=133ca035ddb8f10e68d0da018c14b50066550848f2ab72300e349550697dd6f2 Stored in directory: /root/.cache/pip/wheels/a2/2d/e9/7d3dac02d77851c1ec45691faf6002d767bee5b9862c1dd04a Building wheel for jsmin (setup.py) ... done Created wheel for jsmin: filename=jsmin-3.0.1-py3-none-any.whl size=13767 sha256=ad18d0981c4ae08d2b84f728f02c2338e3d695a276f5b336262c75a2d591753b Stored in directory: /root/.cache/pip/wheels/8d/2d/8f/2132d05239c9da42da8420d42c2508adb2a0ec6f68b01e2cf3 Building wheel for pyjsparser (setup.py) ... done Created wheel for pyjsparser: filename=pyjsparser-2.7.1-py3-none-any.whl size=25999 sha256=f135122789c8aee296ea057668134fba00188673fca0ae789aa620d0e33c12e9 Stored in directory: /root/.cache/pip/wheels/d5/88/34/ccb5bb40eb3178a134eb293e6c363928c5bcfba0b91031db76 Successfully built jam.py jsmin pyjsparser Installing collected packages: jsmin, pyjsparser, jam.py Successfully installed jam.py-7.0.18 jsmin-3.0.1 pyjsparser-2.7.1 (project-name2) @.:/var/www/auth/jam-py# cd demo/ (project-name2) @.***:/var/www/auth/jam-py/demo# ./server.py WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.

There is a problem here with what Jam is installing when the dependencies are not already there!

— Reply to this email directly, view it on GitHub https://github.com/jam-py/jam-py/issues/276#issuecomment-1767816011, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACJ2AGL62J673235IL64N4TX7563BAVCNFSM6AAAAAA6E7IUCKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONRXHAYTMMBRGE . You are receiving this because you are subscribed to this thread.Message ID: @.***>

platipusica commented 1 year ago

Try this and see if it works (Python 3.8.10):

python3 -m venv project-name source project-name/bin/activate (navigate to jam-py) pip install .

It will install the latest dependencies which do not work ie werkzeug 3.0.0

I suspect Jam will need to lock the dependencies to whatever you used, ie: Werkzeug==2.3.6 etc....

jam-py commented 1 year ago

Yes, I see. I'll try to fix it.

чт, 19 окт. 2023 г. в 03:48, platipusica @.***>:

Try this and see if it works (Python 3.8.10):

python3 -m venv project-name source project-name/bin/activate (navigate to jam-py) pip install .

It will install the latest dependencies which do not work ie werkzeug 3.0.0

I suspect Jam will need to lock the dependencies to whatever you used, ie: Werkzeug==2.3.6 etc....

— Reply to this email directly, view it on GitHub https://github.com/jam-py/jam-py/issues/276#issuecomment-1769718276, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACJ2AGL7GWNKZIYPZFYJPUDYAB2GXAVCNFSM6AAAAAA6E7IUCKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONRZG4YTQMRXGY . You are receiving this because you commented.Message ID: @.***>

jam-py commented 1 year ago

I fixed the bug.