Gns3-gui: Upgrade to recent version of jsonschema

Created on 30 Aug 2019  路  4Comments  路  Source: GNS3/gns3-gui

We need to upgrade because the current version we use is 2.6.0 which won't work with Python 3.8.

However, our latest attempts to upgrade to version 3.0.2 failed. It appears there is a problem for cx_Freeze to package jsonschema.

Traceback (most recent call last):
  File "C:\Python36-x64\lib\site-packages\cx_Freeze\initscripts\__startup__.py", line 14, in run
  File "C:\Python36-x64\lib\site-packages\cx_Freeze\initscripts\Console.py", line 26, in run
  File "gns3-gui/gns3/main.py", line 55, in <module>
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 656, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 626, in _load_backward_compatible
  File "./gns3-gui\gns3\main_window.py", line 53, in <module>
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 656, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 626, in _load_backward_compatible
  File "./gns3-gui\gns3\dialogs\appliance_wizard.py", line 27, in <module>
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 656, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 626, in _load_backward_compatible
  File "./gns3-gui\gns3\registry\appliance.py", line 23, in <module>
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 656, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 626, in _load_backward_compatible
  File "C:\Python36-x64\lib\site-packages\jsonschema\__init__.py", line 33, in <module>
  File "C:\Python36-x64\lib\site-packages\pkg_resources\__init__.py", line 561, in get_distribution
  File "C:\Python36-x64\lib\site-packages\pkg_resources\__init__.py", line 441, in get_provider
  File "C:\Python36-x64\lib\site-packages\pkg_resources\__init__.py", line 962, in require
  File "C:\Python36-x64\lib\site-packages\pkg_resources\__init__.py", line 849, in resolve
pkg_resources.DistributionNotFound: The 'jsonschema' distribution was not found and is required by the application

A workaround is to stick to jsonschema 2.6.0 for Windows and macOS since we control the embedded version of Python.

Bug

Most helpful comment

Hello, I'm gns3 maintainer for gentoo, would be great to see this jsonschema version bump revisited, for the same reasons mentioned above, we need to see python3.8 compatibility in order to maintain it in our portage tree.

Thanks

All 4 comments

Just tested, looks like jsonschema 2.6.0 still work fine on Python 3.8...

Hello, I'm gns3 maintainer for gentoo, would be great to see this jsonschema version bump revisited, for the same reasons mentioned above, we need to see python3.8 compatibility in order to maintain it in our portage tree.

Thanks

This should work in our next release. Thanks :+1:

jsonschema version 3.2.0 will be installed with Python >= 3.8
jsonschema version 2.6.0 will be installed with Python < 3.8

Was this page helpful?
0 / 5 - 0 ratings

Related issues

jJit0 picture jJit0  路  6Comments

arash88 picture arash88  路  7Comments

grossmj picture grossmj  路  5Comments

Raizo62 picture Raizo62  路  8Comments

legendcodermartino1245 picture legendcodermartino1245  路  9Comments