I’m trying to run a Tryton 7.0.32 client against a Tryton 7.0.30 server with a SQLite database for testing purposes, both installed in a virtualenv, and using a memory database. However, I can’t log in.
To start the server, I have a script that basically does:
$ trytond-admin -c test.conf -d db --all --email toni@localhost --activate-dependencies
$ trytond-admin -c test.conf -d db -p --reset-password
$ trytond -c test.conf -v --dev
If I use a client - I also tried other versions - to connect to this server, I get a crash:
$ tryton -v
INFO:tryton.rpc:common.authentication.services()
INFO:tryton.rpc:common.server.version(None, None)
INFO:tryton.common.common:Überprüfung der URL: https://downloads.tryton.org/7.0/tryton-7.0.33.tar.gz
ERROR:tryton.common.common:Es war nicht möglich nach einer neuen Version zu suchen.
Traceback (most recent call last):
File "/path/to/working/dir/.venv/lib/python3.13/site-packages/tryton/common/common.py", line 935, in check_version
urllib.request.urlopen(
~~~~~~~~~~~~~~~~~~~~~~^
HeadRequest(url), timeout=5, cafile=rpc._CA_CERTS)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: urlopen() got an unexpected keyword argument 'cafile'
INFO:tryton.rpc:common.db.login(admin, xxxxxxxxxx, de)
ERROR:tryton.common.common:Traceback (most recent call last):
File "/path/to/working/dir/.venv/lib/python3.13/site-packages/tryton/gui/main.py", line 256, in do_activate
common.get_credentials()
~~~~~~~~~~~~~~~~~~~~~~^^
File "/path/to/working/dir/.venv/lib/python3.13/site-packages/tryton/common/common.py", line 1043, in get_credentials
Login()
~~~~~^^
File "/path/to/working/dir/.venv/lib/python3.13/site-packages/tryton/common/common.py", line 1100, in __init__
func(parameters)
~~~~^^^^^^^^^^^^
File "/path/to/working/dir/.venv/lib/python3.13/site-packages/tryton/rpc.py", line 122, in login
result = connection.common.db.login(username, parameters, language)
File "/path/to/home/.local/share/uv/python/cpython-3.13.5-linux-x86_64-gnu/lib/python3.13/xmlrpc/client.py", line 1096, in __call__
return self.__send(self.__name, args)
~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
File "/path/to/working/dir/.venv/lib/python3.13/site-packages/tryton/jsonrpc.py", line 308, in __request
raise Fault(*response['error'])
tryton.jsonrpc.Fault: name 'self' is not defined
Fault: name 'self' is not defined
If I choose a different server, eg. one I have running inside a VM and talking to a Pg database (also 7.0), then I get the expected password prompt and can then proceed to the normal Tryton client UI.
If I am accessing the Tryton server with my web browser, in the VM case, I get a web UI, and in the localhost test case, I get a 405. However, running a Proteus script against the local server seems to work just fine, judging from looking at the database (new tables & updated records).
What gives?