Update trouble - pkg_resources.VersionConflict:

Hello fellow friends,

I did an update to get to the most recent 6.8 modules and updated pip packages as well. Afterward, tryton will no longer start:

$ trytond -c trytond.conf -d 68-prod -vv
48374 140076060073984 [2024-01-18 16:00:36,625] INFO trytond.config using trytond.conf as configuration files

## require [Requirement.parse('trytond-product<6.9,>=6.8'), Requirement.parse('trytond<6.9,>=6.8'), Requirement.parse('trytond-account-invoice<6.9,>=6.8'), Requirement.parse('trytond-stock<6.9,>=6.8'), Requirement.parse('trytond-sale<6.9,>=6.8')] None None ()

## require [Requirement.parse('trytond-product<6.9,>=6.8'), Requirement.parse('trytond<6.9,>=6.8'), Requirement.parse('python-dateutil'), Requirement.parse('trytond-account-invoice<6.9,>=6.8'), Requirement.parse('trytond-stock<6.9,>=6.8'), Requirement.parse('trytond-currency<6.9,>=6.8'), Requirement.parse('trytond-country<6.9,>=6.8'), Requirement.parse('python-sql>=0.4'), Requirement.parse('trytond-account<6.9,>=6.8'), Requirement.parse('trytond-account-product<6.9,>=6.8'), Requirement.parse('trytond-party<6.9,>=6.8'), Requirement.parse('trytond-company<6.9,>=6.8'), Requirement.parse('trytond-account-invoice-stock<6.9,>=6.8')] None None ()

## require [Requirement.parse('trytond-stock<6.9,>=6.8'), Requirement.parse('trytond-account<6.9,>=6.8'), Requirement.parse('trytond-account-product<6.9,>=6.8'), Requirement.parse('trytond<6.9,>=6.8')] None None ()

## require [Requirement.parse('trytond<6.9,>=6.8'), Requirement.parse('trytond-account-invoice<6.9,>=6.8'), Requirement.parse('trytond-bank<6.9,>=6.8'), Requirement.parse('trytond-currency<6.9,>=6.8'), Requirement.parse('python-sql>=0.4'), Requirement.parse('trytond-account<6.9,>=6.8'), Requirement.parse('trytond-party<6.9,>=6.8'), Requirement.parse('trytond-company<6.9,>=6.8')] None None ()

## require [Requirement.parse('trytond<6.9,>=6.8'), Requirement.parse('trytond-product<6.9,>=6.8'), Requirement.parse('trytond-account-invoice<6.9,>=6.8'), Requirement.parse('trytond-stock<6.9,>=6.8'), Requirement.parse('trytond-purchase<6.9,>=6.8')] None None ()

## require [Requirement.parse('trytond<6.9,>=6.8'), Requirement.parse('trytond-purchase<6.9,>=6.8')] None None ()

## require [Requirement.parse('trytond-product<6.9,>=6.8'), Requirement.parse('trytond<6.9,>=6.8'), Requirement.parse('trytond-stock<6.9,>=6.8'), Requirement.parse('trytond-currency<6.9,>=6.8'), Requirement.parse('trytond-sale<6.9,>=6.8'), Requirement.parse('trytond-account<6.9,>=6.8'), Requirement.parse('trytond-web-user<6.9,>=6.8'), Requirement.parse('trytond-company<6.9,>=6.8')] None None ()

## require [Requirement.parse('trytond<6.9,>=6.8'), Requirement.parse('python-dateutil'), Requirement.parse('trytond-currency<6.9,>=6.8'), Requirement.parse('simpleeval'), Requirement.parse('trytond-party<6.9,>=6.8'), Requirement.parse('trytond-company<6.9,>=6.8'), Requirement.parse('python-sql>=0.7')] None None ()

## require [Requirement.parse('trytond-country<6.9,>=6.8'), Requirement.parse('python-sql>=0.4'), Requirement.parse('trytond<6.9,>=6.8'), Requirement.parse('python-stdnum>=1.15')] None None ()

## require [Requirement.parse('trytond-product<6.9,>=6.8'), Requirement.parse('trytond<6.9,>=6.8'), Requirement.parse('python-sql'), Requirement.parse('trytond-project<6.9,>=6.8'), Requirement.parse('trytond-timesheet<6.9,>=6.8'), Requirement.parse('trytond-company<6.9,>=6.8'), Requirement.parse('trytond-timesheet-cost<6.9,>=6.8')] None None ()

## require [Requirement.parse('trytond<6.9,>=6.8'), Requirement.parse('trytond-timesheet<6.9,>=6.8'), Requirement.parse('python-sql>=0.4'), Requirement.parse('trytond-party<6.9,>=6.8'), Requirement.parse('trytond-company<6.9,>=6.8'), Requirement.parse('trytond-company-work-time<6.9,>=6.8')] None None ()

## require [Requirement.parse('trytond-account<6.9,>=6.8'), Requirement.parse('trytond<6.9,>=6.8'), Requirement.parse('trytond-company<6.9,>=6.8'), Requirement.parse('trytond-product<6.9,>=6.8')] None None ()

## require [Requirement.parse('trytond<6.9,>=6.8'), Requirement.parse('trytond-currency<6.9,>=6.8'), Requirement.parse('python-stdnum'), Requirement.parse('python-sql>=0.4'), Requirement.parse('trytond-party<6.9,>=6.8')] None None ()

## require [Requirement.parse('trytond-product<6.9,>=6.8'), Requirement.parse('trytond<6.9,>=6.8'), Requirement.parse('trytond-purchase<6.9,>=6.8')] None None ()

## require [Requirement.parse('trytond-currency<6.9,>=6.8'), Requirement.parse('python-sql>=0.4'), Requirement.parse('trytond<6.9,>=6.8'), Requirement.parse('trytond-party<6.9,>=6.8')] None None ()

## require [Requirement.parse('trytond<6.9,>=6.8'), Requirement.parse('trytond-product-price-list<6.9,>=6.8'), Requirement.parse('trytond-sale<6.9,>=6.8'), Requirement.parse('trytond-party<6.9,>=6.8'), Requirement.parse('trytond-company<6.9,>=6.8')] None None ()

## require [Requirement.parse('trytond<6.9,>=6.8'), Requirement.parse('trytond-stock<6.9,>=6.8'), Requirement.parse('trytond-purchase<6.9,>=6.8'), Requirement.parse('trytond-sale<6.9,>=6.8'), Requirement.parse('trytond-purchase-request<6.9,>=6.8')] None None ()

## require [Requirement.parse('trytond-party<6.9,>=6.8'), Requirement.parse('trytond-sale<6.9,>=6.8'), Requirement.parse('trytond-account-invoice<6.9,>=6.8'), Requirement.parse('trytond<6.9,>=6.8')] None None ()

## require [Requirement.parse('trytond-product<6.9,>=6.8'), Requirement.parse('trytond<6.9,>=6.8'), Requirement.parse('trytond-currency<6.9,>=6.8'), Requirement.parse('simpleeval'), Requirement.parse('python-sql>=1.3.0'), Requirement.parse('trytond-party<6.9,>=6.8'), Requirement.parse('trytond-company<6.9,>=6.8')] None None ()

## require [Requirement.parse('python-stdnum'), Requirement.parse('python-sql'), Requirement.parse('trytond-company<6.9,>=6.8'), Requirement.parse('trytond<6.9,>=6.8')] None None ()

## require [Requirement.parse('trytond-sale<6.9,>=6.8'), Requirement.parse('trytond-product<6.9,>=6.8'), Requirement.parse('trytond-stock<6.9,>=6.8'), Requirement.parse('trytond<6.9,>=6.8')] None None ()

## require [Requirement.parse('trytond-account-invoice<6.9,>=6.8'), Requirement.parse('trytond<6.9,>=6.8')] None None ()

## require [Requirement.parse('trytond-party<6.9,>=6.8'), Requirement.parse('trytond-sale<6.9,>=6.8'), Requirement.parse('trytond<6.9,>=6.8'), Requirement.parse('trytond-stock<6.9,>=6.8')] None None ()

## require [Requirement.parse('trytond-product<6.9,>=6.8'), Requirement.parse('trytond<6.9,>=6.8'), Requirement.parse('python-dateutil'), Requirement.parse('trytond-currency<6.9,>=6.8'), Requirement.parse('python-sql>=0.4'), Requirement.parse('trytond-account<6.9,>=6.8'), Requirement.parse('trytond-account-product<6.9,>=6.8'), Requirement.parse('trytond-party<6.9,>=6.8'), Requirement.parse('trytond-company<6.9,>=6.8')] None None ()

## require [Requirement.parse('trytond-product<6.9,>=6.8'), Requirement.parse('trytond<6.9,>=6.8'), Requirement.parse('python-sql'), Requirement.parse('trytond-stock<6.9,>=6.8'), Requirement.parse('trytond-purchase<6.9,>=6.8'), Requirement.parse('trytond-account<6.9,>=6.8'), Requirement.parse('trytond-party<6.9,>=6.8'), Requirement.parse('trytond-purchase-request<6.9,>=6.8')] None None ()

## require [Requirement.parse('trytond-product<6.9,>=6.8'), Requirement.parse('trytond<6.9,>=6.8'), Requirement.parse('trytond-stock-shipment-cost<6.9,>=6.8'), Requirement.parse('python-sql'), Requirement.parse('trytond-account-invoice<6.9,>=6.8'), Requirement.parse('trytond-stock<6.9,>=6.8'), Requirement.parse('trytond-currency<6.9,>=6.8'), Requirement.parse('trytond-sale<6.9,>=6.8'), Requirement.parse('trytond-carrier<6.9,>=6.8')] None None ()

## require [Requirement.parse('trytond-sale<6.9,>=6.8'), Requirement.parse('trytond<6.9,>=6.8')] None None ()

## require [Requirement.parse('trytond-product<6.9,>=6.8'), Requirement.parse('trytond<6.9,>=6.8'), Requirement.parse('python-sql'), Requirement.parse('trytond-stock<6.9,>=6.8'), Requirement.parse('trytond-carrier<6.9,>=6.8')] None None ()

## require [Requirement.parse('python-dateutil'), Requirement.parse('python-sql>=0.9'), Requirement.parse('trytond<6.9,>=6.8')] None None ()

## require [Requirement.parse('trytond<6.9,>=6.8'), Requirement.parse('trytond-account<6.9,>=6.8')] None None ()

## require [Requirement.parse('trytond<6.9,>=6.8'), Requirement.parse('trytond-account-invoice<6.9,>=6.8'), Requirement.parse('trytond-stock<6.9,>=6.8'), Requirement.parse('trytond-purchase<6.9,>=6.8'), Requirement.parse('trytond-purchase-history<6.9,>=6.8')] None None ()

## require [Requirement.parse('trytond<6.5,>=6.4'), Requirement.parse('trytond-account-invoice<6.5,>=6.4')] None None ()
Traceback (most recent call last):
  File "/home/wd/TRYTON/68-prod/bin/trytond", line 42, in <module>
    Pool.start()
  File "/home/wd/TRYTON/68-prod/lib/python3.10/site-packages/trytond/pool.py", line 108, in start
    register_classes(with_test=cls.test)
  File "/home/wd/TRYTON/68-prod/lib/python3.10/site-packages/trytond/modules/__init__.py", line 357, in register_classes
    for node in create_graph(get_module_list(with_test=with_test)):
  File "/home/wd/TRYTON/68-prod/lib/python3.10/site-packages/trytond/modules/__init__.py", line 147, in create_graph
    info = get_module_info(module)
  File "/home/wd/TRYTON/68-prod/lib/python3.10/site-packages/trytond/modules/__init__.py", line 85, in get_module_info
    with tools.file_open(os.path.join(name, 'tryton.cfg')) as fp:
  File "/home/wd/TRYTON/68-prod/lib/python3.10/site-packages/trytond/tools/misc.py", line 29, in file_open
    path = find_path(name, subdir)
  File "/home/wd/TRYTON/68-prod/lib/python3.10/site-packages/trytond/tools/misc.py", line 51, in find_path
    location = os.path.dirname(epoint.load().__file__)
  File "/home/wd/TRYTON/68-prod/lib/python3.10/site-packages/pkg_resources/__init__.py", line 2464, in load
    self.require(*args, **kwargs)
  File "/home/wd/TRYTON/68-prod/lib/python3.10/site-packages/pkg_resources/__init__.py", line 2488, in require
    items = working_set.resolve(reqs, env, installer, extras=self.extras)
  File "/home/wd/TRYTON/68-prod/lib/python3.10/site-packages/pkg_resources/__init__.py", line 782, in resolve
    raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.VersionConflict: (trytond-account-invoice 6.8.4 (/home/wd/TRYTON/68-prod/lib/python3.10/site-packages), Requirement.parse('trytond-account-invoice<6.5,>=6.4'))

But to me it looks as if requirements are met, all trytond modules are 6.8.*:

tryton                                  6.8.9
trytond                                 6.8.10
trytond-account                         6.8.6
trytond-account-invoice                 6.8.4
trytond-account-invoice-correction      6.8.0
trytond-account-invoice-line-standalone 6.8.1
trytond-account-invoice-stock           6.8.2
trytond-account-payment                 6.8.1
trytond-account-product                 6.8.0
trytond-account-statement               6.8.1
trytond-account-stock-continental       6.8.0
trytond-bank                            6.8.0
trytond-carrier                         6.8.0
trytond-commission                      6.8.2
trytond-company                         6.8.0
trytond-company-work-time               6.8.0
trytond-country                         6.8.0
trytond-currency                        6.8.1
trytond-party                           6.8.1
trytond-product                         6.8.1
trytond-product-price-list              6.8.0
trytond-project                         6.8.0
trytond-project-invoice                 6.8.0
trytond-project-revenue                 6.8.0
trytond-purchase                        6.8.5
trytond-purchase-amendment              6.8.0
trytond-purchase-history                6.8.0
trytond-purchase-request                6.8.1
trytond-purchase-secondary-unit         6.8.0
trytond-sale                            6.8.4
trytond-sale-amendment                  6.8.0
trytond-sale-history                    6.8.0
trytond-sale-invoice-grouping           6.8.0
trytond-sale-price-list                 6.8.0
trytond-sale-secondary-unit             6.8.0
trytond-sale-shipment-cost              6.8.4
trytond-sale-shipment-grouping          6.8.0
trytond-sale-stock-quantity             6.8.0
trytond-sale-supply                     6.8.4
trytond-sale-supply-drop-shipment       6.8.1
trytond-stock                           6.8.6
trytond-stock-consignment               6.8.0
trytond-stock-forecast                  6.8.0
trytond-stock-secondary-unit            6.8.1
trytond-stock-shipment-cost             6.8.1
trytond-stock-supply                    6.8.1
trytond-timesheet                       6.8.0
trytond-timesheet-cost                  6.8.0
trytond-web-shop                        6.8.0
trytond-web-user                        6.8.0

So what am I doing wrong?

Cheers,
Wolf

There is something wrong in your instalation, you have both 6.8 series and 6.4 series requirment.

Probably an update / install without activating your virtual environment? Maybe done in the past. Just uninstall all Tryton packages without any activated virtual environment. Also search the forum here, there should be a topic in which you’ve done that.

Unluckily not. I just found werkzeug system-wide, uninstalled it, but that didn’t help. Well, I managed to update to 7.0, so it’s not really serious.

Thank you anyway.

Cheers,
Wolf