AequilibraE / qaequilibrae

Free QGIS add-on for transportation modeling
https://www.aequilibrae.com/qgis/latest/
Other
75 stars 24 forks source link

It is impossible to use the GUI on QGIS 3.22 #180

Closed MaxDragonheart closed 5 months ago

MaxDragonheart commented 2 years ago

It is not possible to use the GUI both on Windows 11 and Ubuntu 20.04 with QGIS 3.22. Below some screenshot.

Windows 11

Immagine 2022-03-15 105524

Immagine 2022-03-15 105612

Ubuntu 20.04

Screenshot from 2022-03-15 11-01-55

Screenshot from 2022-03-15 11-02-31

I'm using a dual boot machine then both OS has the same hardware configuration:

pedrocamargo commented 2 years ago

Massimiliano, may I assume you have a high-DPI screen (4k, most likely)?

The plugin is also not supported on recent versions of QGIS on Windows due to their upgrade to Python 3.9, and Linux would have the same issue in case your Python 3 installation is 3.9 or 3.10.

MaxDragonheart commented 2 years ago

Yes @pedrocamargo my screen is 4k.

So this is also a problem of compatibility between current version of the Aequilibrae and QGIS. I see that there is a python library Aequilibrae, I can try to use it directly in the meantime the plugin comes back compatible with the corrent QGIS version.

Art-Ev commented 2 years ago

Hi, you can also just use QGIs 3.10 @MaxDragonheart. But as QGIS plugin come with an older version of the library, you'll have to deal with some little bugs in skims exports and assignment (juste need to "patch" some files manually but it can be a bit "rough"). If possible, using AequilibraE library without the GUI is definitely easier at the moment. Oh and at least on windows with a 1440p screen, no GUI scaling problem on my side.

pedrocamargo commented 2 years ago

@MaxDragonheart , @Art-Ev is correct with respect to the QGIS plugin being outdated.

I am currently working on the new version of the plugin, but it depends on my having free time, as this is an unfunded open-source project. A new version of the Python library should also be released fairly soon, btw.

MaxDragonheart commented 2 years ago

Thank you @Art-Ev for the indications.

@pedrocamargo I know that Aequilibrae is an OS project, I understand the difficults to work on this kind of projects. I hope you have the possibility to implement the library as soon based on you time possibility.

pedrocamargo commented 2 years ago

Hey @MaxDragonheart , can you test the newest plugin release to see if those problems you mentioned with the UI are resolved?

MaxDragonheart commented 2 years ago

@pedrocamargo excuse me for late response. I'm using now the version 0.6.2 and the problem persists Screenshot from 2022-05-24 10-38-22

pedrocamargo commented 2 years ago

Version 0.6.2 is an old one, and 0.7.3 has already been released (under the experimental flag).

MaxDragonheart commented 2 years ago

On 0.7.3 I see the error below on Ubuntu 20.04:

Couldn't load plugin 'AequilibraE' due to an error when calling its classFactory() method 

ModuleNotFoundError: No module named 'pandas' 
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/qgis/utils.py", line 423, in _startPlugin
    plugins[packageName] = package.classFactory(iface)
  File "/home/max/.local/share/QGIS/QGIS3/profiles/default/python/plugins/AequilibraE/__init__.py", line 9, in classFactory
    from .common_tools.start_logging import starts_logging
  File "/usr/lib/python3/dist-packages/qgis/utils.py", line 888, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
  File "/home/max/.local/share/QGIS/QGIS3/profiles/default/python/plugins/AequilibraE/common_tools/__init__.py", line 15, in 
    from .data_layer_from_dataframe import layer_from_dataframe
  File "/usr/lib/python3/dist-packages/qgis/utils.py", line 888, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
  File "/home/max/.local/share/QGIS/QGIS3/profiles/default/python/plugins/AequilibraE/common_tools/data_layer_from_dataframe.py", line 1, in 
    import pandas as pd
  File "/usr/lib/python3/dist-packages/qgis/utils.py", line 888, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
ModuleNotFoundError: No module named 'pandas'

Python version: 3.8.10 (default, Mar 15 2022, 12:22:08) [GCC 9.4.0] 
QGIS version: 3.22.7-Białowieża Białowieża, 5a65627acb 

Python Path:
/home/max/.local/share/QGIS/QGIS3/profiles/default/python/plugins/AequilibraE/aequilibrae
/home/max/.local/share/QGIS/QGIS3/profiles/default/python/plugins/AequilibraE/aequilibrae
/usr/share/qgis/python
/home/max/.local/share/QGIS/QGIS3/profiles/default/python
/home/max/.local/share/QGIS/QGIS3/profiles/default/python/plugins
/usr/share/qgis/python/plugins
/usr/lib/python38.zip
/usr/lib/python3.8
/usr/lib/python3.8/lib-dynload
/home/max/.local/lib/python3.8/site-packages
/usr/local/lib/python3.8/dist-packages
/usr/lib/python3/dist-packages
/home/max/.local/share/QGIS/QGIS3/profiles/default/python
.

As soon as possibile I try with Windows 11

MaxDragonheart commented 2 years ago

I clicked on close by mistake

pedrocamargo commented 2 years ago

You could just install pandas as well. Should work with something like python3 -m pip install pandas

MaxDragonheart commented 2 years ago

With pandas 1.4.2 is automatic installed numpy 1.22.4. This are the last versions, at moment, of both libraries. I see this error:

Couldn't load plugin 'AequilibraE' due to an error when calling its classFactory() method 

AttributeError: module 'numpy.random' has no attribute 'BitGenerator' 
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/qgis/utils.py", line 423, in _startPlugin
    plugins[packageName] = package.classFactory(iface)
  File "/home/max/.local/share/QGIS/QGIS3/profiles/default/python/plugins/AequilibraE/__init__.py", line 9, in classFactory
    from .common_tools.start_logging import starts_logging
  File "/usr/lib/python3/dist-packages/qgis/utils.py", line 888, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
  File "/home/max/.local/share/QGIS/QGIS3/profiles/default/python/plugins/AequilibraE/common_tools/__init__.py", line 15, in 
    from .data_layer_from_dataframe import layer_from_dataframe
  File "/usr/lib/python3/dist-packages/qgis/utils.py", line 888, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
  File "/home/max/.local/share/QGIS/QGIS3/profiles/default/python/plugins/AequilibraE/common_tools/data_layer_from_dataframe.py", line 1, in 
    import pandas as pd
  File "/usr/lib/python3/dist-packages/qgis/utils.py", line 888, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
  File "/home/max/.local/lib/python3.8/site-packages/pandas/__init__.py", line 22, in 
    from pandas.compat import is_numpy_dev as _is_numpy_dev
  File "/usr/lib/python3/dist-packages/qgis/utils.py", line 888, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
  File "/home/max/.local/lib/python3.8/site-packages/pandas/compat/__init__.py", line 14, in 
    from pandas._typing import F
  File "/usr/lib/python3/dist-packages/qgis/utils.py", line 888, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
  File "/home/max/.local/lib/python3.8/site-packages/pandas/_typing.py", line 120, in 
    np.random.BitGenerator,
AttributeError: module 'numpy.random' has no attribute 'BitGenerator'

Python version: 3.8.10 (default, Mar 15 2022, 12:22:08) [GCC 9.4.0] 
QGIS version: 3.22.7-Białowieża Białowieża, 5a65627acb 

Python Path:
/home/max/.local/share/QGIS/QGIS3/profiles/default/python/plugins/AequilibraE/aequilibrae
/home/max/.local/share/QGIS/QGIS3/profiles/default/python/plugins/AequilibraE/aequilibrae
/home/max/.local/share/QGIS/QGIS3/profiles/default/python/plugins/AequilibraE/aequilibrae
/usr/share/qgis/python
/home/max/.local/share/QGIS/QGIS3/profiles/default/python
/home/max/.local/share/QGIS/QGIS3/profiles/default/python/plugins
/usr/share/qgis/python/plugins
/usr/lib/python38.zip
/usr/lib/python3.8
/usr/lib/python3.8/lib-dynload
/home/max/.local/lib/python3.8/site-packages
/usr/local/lib/python3.8/dist-packages
/usr/lib/python3/dist-packages
/home/max/.local/share/QGIS/QGIS3/profiles/default/python
pedrocamargo commented 2 years ago

You need to use Numpy 1.21 or older...

pedrocamargo commented 1 year ago

@MaxDragonheart , are you able to try the 0.9 version of qaequilibrae (the old plugin was deprecated in favor of this new one) to see if this issue was fixed

MaxDragonheart commented 1 year ago

Hi @pedrocamargo I've installed the new plugin but I saw this messagge:

Immagine 2023-05-20 085320

2023-05-20T08:50:12     INFO    Application state:
             QGIS_PREFIX_PATH env var: C:/PROGRA~1/QGIS32~1.5/apps/qgis-ltr
             Prefix: C:/PROGRA~1/QGIS32~1.5/apps/qgis-ltr
             Plugin Path: C:/PROGRA~1/QGIS32~1.5/apps/qgis-ltr/plugins
             Package Data Path: C:/PROGRA~1/QGIS32~1.5/apps/qgis-ltr/.
             Active Theme Name: Night Mapping
             Active Theme Path: C:/PROGRA~1/QGIS32~1.5/apps/qgis-ltr/./resources/themes\Night Mapping\icons/
             Default Theme Path: :/images/themes/default/
             SVG Search Paths: C:/PROGRA~1/QGIS32~1.5/apps/qgis-ltr/./svg/
              C:/Users/massi/AppData/Roaming/QGIS/QGIS3\profiles\default/svg/
             User DB Path: C:/PROGRA~1/QGIS32~1.5/apps/qgis-ltr/./resources/qgis.db
             Auth DB Path: C:/Users/massi/AppData/Roaming/QGIS/QGIS3\profiles\default/qgis-auth.db

2023-05-20T08:52:32     CRITICAL    python -m pip install -r C:\Users/massi/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\qaequilibrae\requirements.txt -t C:\Users/massi/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\qaequilibrae\packages --upgrade
2023-05-20T08:52:32     CRITICAL    Collecting aequilibrae==0.9.0.dev1

2023-05-20T08:52:32     CRITICAL     Downloading aequilibrae-0.9.0.dev1-cp39-cp39-win_amd64.whl (10.6 MB)

2023-05-20T08:52:32     CRITICAL     ---------------------------------------- 10.6/10.6 MB 3.6 MB/s eta 0:00:00

2023-05-20T08:52:32     CRITICAL    Collecting openmatrix

2023-05-20T08:52:32     CRITICAL     Downloading OpenMatrix-0.3.5.0-py3-none-any.whl (13 kB)

2023-05-20T08:52:32     CRITICAL    Collecting ortools

2023-05-20T08:52:32     CRITICAL     Downloading ortools-9.6.2534-cp39-cp39-win_amd64.whl (43.5 MB)

2023-05-20T08:52:32     CRITICAL     ---------------------------------------- 43.5/43.5 MB 4.7 MB/s eta 0:00:00

2023-05-20T08:52:32     CRITICAL    Collecting shapely

2023-05-20T08:52:32     CRITICAL     Downloading shapely-2.0.1-cp39-cp39-win_amd64.whl (1.4 MB)

2023-05-20T08:52:32     CRITICAL     ---------------------------------------- 1.4/1.4 MB 7.2 MB/s eta 0:00:00

2023-05-20T08:52:32     CRITICAL    Collecting pandas             
2023-05-20T08:52:32     CRITICAL     Downloading pandas-1.1.5-cp39-cp39-win_amd64.whl (8.9 MB)

2023-05-20T08:52:32     CRITICAL     ---------------------------------------- 8.9/8.9 MB 6.6 MB/s eta 0:00:00

2023-05-20T08:52:32     CRITICAL    Collecting pyproj

2023-05-20T08:52:32     CRITICAL     Downloading pyproj-3.5.0-cp39-cp39-win_amd64.whl (5.1 MB)

2023-05-20T08:52:32     CRITICAL     ---------------------------------------- 5.1/5.1 MB 6.7 MB/s eta 0:00:00

2023-05-20T08:52:32     CRITICAL    Collecting numpy             
2023-05-20T08:52:32     CRITICAL     Downloading numpy-1.21.6-cp39-cp39-win_amd64.whl (14.0 MB)

2023-05-20T08:52:32     CRITICAL     ---------------------------------------- 14.0/14.0 MB 6.9 MB/s eta 0:00:00

2023-05-20T08:52:32     CRITICAL    Collecting rtree

2023-05-20T08:52:32     CRITICAL     Downloading Rtree-1.0.1-cp39-cp39-win_amd64.whl (433 kB)

2023-05-20T08:52:32     CRITICAL     -------------------------------------- 433.3/433.3 kB 9.0 MB/s eta 0:00:00

2023-05-20T08:52:32     CRITICAL    Collecting pyaml

2023-05-20T08:52:32     CRITICAL     Downloading pyaml-23.5.9-py3-none-any.whl (17 kB)

2023-05-20T08:52:32     CRITICAL    Collecting requests

2023-05-20T08:52:32     CRITICAL     Downloading requests-2.30.0-py3-none-any.whl (62 kB)

2023-05-20T08:52:32     CRITICAL     ---------------------------------------- 62.5/62.5 kB 3.3 MB/s eta 0:00:00

2023-05-20T08:52:32     CRITICAL    Collecting scipy

2023-05-20T08:52:32     CRITICAL     Downloading scipy-1.10.1-cp39-cp39-win_amd64.whl (42.5 MB)

2023-05-20T08:52:32     CRITICAL     ---------------------------------------- 42.5/42.5 MB 7.9 MB/s eta 0:00:00

2023-05-20T08:52:32     CRITICAL    Collecting cython

2023-05-20T08:52:32     CRITICAL     Downloading Cython-0.29.34-py2.py3-none-any.whl (988 kB)

2023-05-20T08:52:32     CRITICAL     -------------------------------------- 988.1/988.1 kB 9.0 MB/s eta 0:00:00

2023-05-20T08:52:32     CRITICAL    Collecting tables>=3.1.0

2023-05-20T08:52:32     CRITICAL     Downloading tables-3.8.0-cp39-cp39-win_amd64.whl (3.6 MB)

2023-05-20T08:52:32     CRITICAL     ---------------------------------------- 3.6/3.6 MB 5.0 MB/s eta 0:00:00

2023-05-20T08:52:32     CRITICAL    Collecting protobuf>=4.21.12

2023-05-20T08:52:32     CRITICAL     Downloading protobuf-4.23.1-cp39-cp39-win_amd64.whl (422 kB)

2023-05-20T08:52:32     CRITICAL     -------------------------------------- 422.5/422.5 kB 6.6 MB/s eta 0:00:00

2023-05-20T08:52:32     CRITICAL    Collecting absl-py>=0.13

2023-05-20T08:52:32     CRITICAL     Downloading absl_py-1.4.0-py3-none-any.whl (126 kB)

2023-05-20T08:52:32     CRITICAL     -------------------------------------- 126.5/126.5 kB 7.3 MB/s eta 0:00:00

2023-05-20T08:52:32     CRITICAL    Collecting python-dateutil>=2.7.3

2023-05-20T08:52:32     CRITICAL     Downloading python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB)

2023-05-20T08:52:32     CRITICAL     -------------------------------------- 247.7/247.7 kB 7.7 MB/s eta 0:00:00

2023-05-20T08:52:32     CRITICAL    Collecting pytz>=2017.2

2023-05-20T08:52:32     CRITICAL     Downloading pytz-2023.3-py2.py3-none-any.whl (502 kB)

2023-05-20T08:52:32     CRITICAL     -------------------------------------- 502.3/502.3 kB 7.9 MB/s eta 0:00:00

2023-05-20T08:52:32     CRITICAL    Collecting blosc2~=2.0.0

2023-05-20T08:52:32     CRITICAL     Downloading blosc2-2.0.0-cp39-cp39-win_amd64.whl (2.0 MB)

2023-05-20T08:52:32     CRITICAL     ---------------------------------------- 2.0/2.0 MB 6.9 MB/s eta 0:00:00

2023-05-20T08:52:32     CRITICAL    Collecting numexpr>=2.6.2

2023-05-20T08:52:32     CRITICAL     Downloading numexpr-2.8.4-cp39-cp39-win_amd64.whl (92 kB)

2023-05-20T08:52:32     CRITICAL     ---------------------------------------- 92.7/92.7 kB ? eta 0:00:00

2023-05-20T08:52:32     CRITICAL    Collecting py-cpuinfo

2023-05-20T08:52:32     CRITICAL     Downloading py_cpuinfo-9.0.0-py3-none-any.whl (22 kB)

2023-05-20T08:52:32     CRITICAL    Collecting packaging

2023-05-20T08:52:32     CRITICAL     Using cached packaging-23.1-py3-none-any.whl (48 kB)

2023-05-20T08:52:32     CRITICAL    Collecting PyYAML

2023-05-20T08:52:32     CRITICAL     Downloading PyYAML-6.0-cp39-cp39-win_amd64.whl (151 kB)

2023-05-20T08:52:32     CRITICAL     -------------------------------------- 151.6/151.6 kB 4.6 MB/s eta 0:00:00

2023-05-20T08:52:32     CRITICAL    Collecting certifi

2023-05-20T08:52:32     CRITICAL     Downloading certifi-2023.5.7-py3-none-any.whl (156 kB)

2023-05-20T08:52:32     CRITICAL     -------------------------------------- 157.0/157.0 kB 4.7 MB/s eta 0:00:00

2023-05-20T08:52:32     CRITICAL    Collecting urllib3=1.21.1

2023-05-20T08:52:32     CRITICAL     Downloading urllib3-2.0.2-py3-none-any.whl (123 kB)

2023-05-20T08:52:32     CRITICAL     -------------------------------------- 123.2/123.2 kB 7.1 MB/s eta 0:00:00

2023-05-20T08:52:32     CRITICAL    Collecting idna=2.5

2023-05-20T08:52:32     CRITICAL     Using cached idna-3.4-py3-none-any.whl (61 kB)

2023-05-20T08:52:32     CRITICAL    Collecting charset-normalizer=2

2023-05-20T08:52:32     CRITICAL     Downloading charset_normalizer-3.1.0-cp39-cp39-win_amd64.whl (97 kB)

2023-05-20T08:52:32     CRITICAL     ---------------------------------------- 97.1/97.1 kB ? eta 0:00:00

2023-05-20T08:52:32     CRITICAL    Collecting msgpack

2023-05-20T08:52:32     CRITICAL     Downloading msgpack-1.0.5-cp39-cp39-win_amd64.whl (62 kB)

2023-05-20T08:52:32     CRITICAL     ---------------------------------------- 62.8/62.8 kB ? eta 0:00:00

2023-05-20T08:52:32     CRITICAL    Collecting six>=1.5

2023-05-20T08:52:32     CRITICAL     Using cached six-1.16.0-py2.py3-none-any.whl (11 kB)

2023-05-20T08:52:32     CRITICAL    Installing collected packages: pytz, py-cpuinfo, msgpack, urllib3, six, rtree, PyYAML, protobuf, packaging, numpy, idna, cython, charset-normalizer, certifi, blosc2, absl-py, shapely, scipy, requests, python-dateutil, pyproj, pyaml, numexpr, tables, pandas, ortools, openmatrix, aequilibrae

2023-05-20T08:52:32     CRITICAL    ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.

2023-05-20T08:52:32     CRITICAL    fiona 1.9.2 requires click~=8.0, but you have click 7.1.2 which is incompatible.

2023-05-20T08:52:32     CRITICAL    Successfully installed PyYAML-6.0 absl-py-1.4.0 aequilibrae-0.9.0.dev1 blosc2-2.0.0 certifi-2023.5.7 charset-normalizer-3.1.0 cython-0.29.34 idna-3.4 msgpack-1.0.5 numexpr-2.8.4 numpy-1.21.6 openmatrix-0.3.5.0 ortools-9.6.2534 packaging-23.1 pandas-1.1.5 protobuf-4.23.1 py-cpuinfo-9.0.0 pyaml-23.5.9 pyproj-3.5.0 python-dateutil-2.8.2 pytz-2023.3 requests-2.30.0 rtree-1.0.1 scipy-1.10.1 shapely-2.0.1 six-1.16.0 tables-3.8.0 urllib3-2.0.2

2023-05-20T08:52:32     CRITICAL    

2023-05-20T08:52:32     CRITICAL    [notice] A new release of pip available: 22.3 -> 23.1.2

2023-05-20T08:52:32     CRITICAL    [notice] To update, run: python.exe -m pip install --upgrade pip

I'm on Windows 11 with QGIS 3.28.5 and if I click on Network Preparation I see this:

Immagine 2023-05-20 090440

Nothing changes after the uninstallation and reinstallation of the plugin after the upgrade of pip.

pedrocamargo commented 8 months ago

This should all be addressed now. Can you confirm, @MaxDragonheart

r-akemii commented 5 months ago

I'm closing this issue as we are currently using QGIS 3.32, and some bugs related to installation and plugin usage were solved.