fabrylab/clickpoints

import pyTFM plugin fails

alexlib opened this issue · 11 comments

On Python 3.10 (Windows 10, miniconda3)

import TFM_addon.TFM_addon
Traceback (most recent call last):
  File "C:\Users\alex\miniconda3\envs\pytfm\lib\site-packages\clickpoints\modules\ScriptLauncher.py", line 420, in add_script
    self.script_launcher.activateScript(self.selected_script)
  File "C:\Users\alex\miniconda3\envs\pytfm\lib\site-packages\clickpoints\modules\ScriptLauncher.py", line 501, in activateScript
    if script.activate(self, silent=silent):
  File "C:\Users\alex\miniconda3\envs\pytfm\lib\site-packages\clickpoints\modules\ScriptLauncher.py", line 230, in activate
    raise err
  File "C:\Users\alex\miniconda3\envs\pytfm\lib\site-packages\clickpoints\modules\ScriptLauncher.py", line 224, in activate
    self.addon_module = import_module(folder + "." + basefilename)
  File "C:\Users\alex\miniconda3\envs\pytfm\lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "C:\Users\alex\miniconda3\envs\pytfm\lib\site-packages\pyTFM\TFM_addon\TFM_addon.py", line 4, in <module>
    from pyTFM.TFM_functions_for_clickpoints import *  # must be on top because of some matplotlib backend issues
  File "C:\Users\alex\miniconda3\envs\pytfm\lib\site-packages\pyTFM\TFM_functions_for_clickpoints.py", line 10, in <module>
    from pyTFM.frame_shift_correction import *
  File "C:\Users\alex\miniconda3\envs\pytfm\lib\site-packages\pyTFM\frame_shift_correction.py", line 12, in <module>
    from skimage.feature import register_translation
ImportError: cannot import name 'register_translation' from 'skimage.feature' (C:\Users\alex\miniconda3\envs\pytfm\lib\site-packages\skimage\feature\__init__.py)

On Python 3.10 (Windows 10, miniconda3)

import TFM_addon.TFM_addon
Traceback (most recent call last):
  File "C:\Users\alex\miniconda3\envs\pytfm\lib\site-packages\clickpoints\modules\ScriptLauncher.py", line 420, in add_script
    self.script_launcher.activateScript(self.selected_script)
  File "C:\Users\alex\miniconda3\envs\pytfm\lib\site-packages\clickpoints\modules\ScriptLauncher.py", line 501, in activateScript
    if script.activate(self, silent=silent):
  File "C:\Users\alex\miniconda3\envs\pytfm\lib\site-packages\clickpoints\modules\ScriptLauncher.py", line 230, in activate
    raise err
  File "C:\Users\alex\miniconda3\envs\pytfm\lib\site-packages\clickpoints\modules\ScriptLauncher.py", line 224, in activate
    self.addon_module = import_module(folder + "." + basefilename)
  File "C:\Users\alex\miniconda3\envs\pytfm\lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "C:\Users\alex\miniconda3\envs\pytfm\lib\site-packages\pyTFM\TFM_addon\TFM_addon.py", line 4, in <module>
    from pyTFM.TFM_functions_for_clickpoints import *  # must be on top because of some matplotlib backend issues
  File "C:\Users\alex\miniconda3\envs\pytfm\lib\site-packages\pyTFM\TFM_functions_for_clickpoints.py", line 10, in <module>
    from pyTFM.frame_shift_correction import *
  File "C:\Users\alex\miniconda3\envs\pytfm\lib\site-packages\pyTFM\frame_shift_correction.py", line 12, in <module>
    from skimage.feature import register_translation
ImportError: cannot import name 'register_translation' from 'skimage.feature' (C:\Users\alex\miniconda3\envs\pytfm\lib\site-packages\skimage\feature\__init__.py)

see
https://scikit-image.org/docs/0.19.x/release_notes.html#api-changes
in 0.19.1 the register_translation is removed

The deprecated skimage.feature.masked_register_translation function has been removed (use skimage.registration.phase_cross_correlation instead).

please remove those lines

https://github.com/fabrylab/pyTFM/search?q=register_translation

since it fails the pyTFM plugin loading into clickpoints

The new function was already used, but the import of register_translation was still present. I removed the import.
You can update to the current github version with:
pip install git+https://github.com/fabrylab/pyTFM --upgrade

The quamash problem with clickpoints was also fixed in december, you can update to the github version with:
pip install git+https://github.com/fabrylab/clickpoints/ --upgrade

@rgerum
I see you closed the issue, but I still experience issues with the installation, both on Windows 10 and on WSL under Windows 10 - using the commands you suggested.

(pytfm) alex@DESKTOP-OV3L1FT:/mnt/c/Users/alex$ clickpoints
args ['/home/alex/anaconda3/envs/pytfm/bin/clickpoints']
ClickPoints 1.9.10
Using Python 3.10.2 final 64bit
Using PyQt5 5.15.6
/home/alex/anaconda3/envs/pytfm/lib/python3.10/site-packages/_distutils_hack/__init__.py:30: UserWarning: Setuptools is replacing distutils.
  warnings.warn("Setuptools is replacing distutils.")
Traceback (most recent call last):
  File "/home/alex/anaconda3/envs/pytfm/bin/clickpoints", line 8, in <module>
    sys.exit(main())
  File "/home/alex/anaconda3/envs/pytfm/lib/python3.10/site-packages/clickpoints/launch.py", line 78, in main
    from clickpoints.Core import ClickPointsWindow
  File "/home/alex/anaconda3/envs/pytfm/lib/python3.10/site-packages/clickpoints/Core.py", line 54, in <module>
    from clickpoints.modules.Timeline import Timeline
  File "/home/alex/anaconda3/envs/pytfm/lib/python3.10/site-packages/clickpoints/modules/Timeline.py", line 34, in <module>
    from quamash import QEventLoop
ModuleNotFoundError: No module named 'quamash'

when I manually add quamash by

pip install quamash

I end up with

(pytfm) alex@DESKTOP-OV3L1FT:/mnt/c/Users/alex$ clickpoints
args ['/home/alex/anaconda3/envs/pytfm/bin/clickpoints']
ClickPoints 1.9.10
Using Python 3.10.2 final 64bit
Using PyQt5 5.15.6
/home/alex/anaconda3/envs/pytfm/lib/python3.10/site-packages/_distutils_hack/__init__.py:30: UserWarning: Setuptools is replacing distutils.
  warnings.warn("Setuptools is replacing distutils.")
Traceback (most recent call last):
  File "/home/alex/anaconda3/envs/pytfm/bin/clickpoints", line 8, in <module>
    sys.exit(main())
  File "/home/alex/anaconda3/envs/pytfm/lib/python3.10/site-packages/clickpoints/launch.py", line 78, in main
    from clickpoints.Core import ClickPointsWindow
  File "/home/alex/anaconda3/envs/pytfm/lib/python3.10/site-packages/clickpoints/Core.py", line 54, in <module>
    from clickpoints.modules.Timeline import Timeline
  File "/home/alex/anaconda3/envs/pytfm/lib/python3.10/site-packages/clickpoints/modules/Timeline.py", line 34, in <module>
    from quamash import QEventLoop
  File "/home/alex/anaconda3/envs/pytfm/lib/python3.10/site-packages/quamash/__init__.py", line 594, in <module>
    from ._unix import _SelectorEventLoop
  File "/home/alex/anaconda3/envs/pytfm/lib/python3.10/site-packages/quamash/_unix.py", line 44, in <module>
    class _SelectorMapping(collections.Mapping):
AttributeError: module 'collections' has no attribute 'Mapping'

Hmm strange, clickpoints should not use quamash at all. It should use qasync instead.
So this line that is referenced in your error message is in the repository
from qasync import QEventLoop
So maybe you did not execute the pip install command in the right virtual environment? Or it did not get installed properly. I should make a new release to have this problem fixed for people installing it over pypi.

i'm repeating the installation for the 5th time, removing and creating a new environment every time. things get wrong in a different way if I install first clickpoints -> stuck at a new error

(pytfm) PS C:\Users\alex> clickpoints
args ['C:\\Users\\alex\\miniconda3\\envs\\pytfm\\Scripts\\clickpoints']
ClickPoints 1.9.10
Using Python 3.10.2 final 64bit
Using PyQt5 5.15.6
C:\Users\alex\miniconda3\envs\pytfm\lib\site-packages\_distutils_hack\__init__.py:30: UserWarning: Setuptools is replacing distutils.
  warnings.warn("Setuptools is replacing distutils.")
LoadConfig ['C:\\Users\\alex\\miniconda3\\envs\\pytfm\\Scripts\\clickpoints']  False
Traceback (most recent call last):
  File "C:\Users\alex\miniconda3\envs\pytfm\lib\runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "C:\Users\alex\miniconda3\envs\pytfm\lib\runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "C:\Users\alex\miniconda3\envs\pytfm\Scripts\clickpoints.exe\__main__.py", line 7, in <module>
  File "C:\Users\alex\miniconda3\envs\pytfm\lib\site-packages\clickpoints\launch.py", line 102, in main
    window = ClickPointsWindow(config, app)
  File "C:\Users\alex\miniconda3\envs\pytfm\lib\site-packages\clickpoints\Core.py", line 112, in __init__
    self.move(x, y*0.5)
TypeError: arguments did not match any overloaded call:
  move(self, QPoint): argument 1 has unexpected type 'float'
  move(self, int, int): argument 1 has unexpected type 'float'

or if I start from pyTFM (that installs clickpoints from pypi probably) and then get to the errors I reported above.

Ok this is a bug that has also been recently fixed.
I now made a new release. So hopefully it should now be installed correctly over pypi.

@rgerum please note that there is some difference in the way pip implements the requirements if someone installs it through pyTFM or through clickpoints. What I mean is that if I start with

pip install git+https://github.com/fabrylab/clickpoints
or
pip install git+https://github.com/fabrylab/pytfm

I end up with different errors. Probably it requires somewhat more precise version instructions to pip.

well i guess that by installing pytfm with pip and git it installs the pypi clickpoint version, which should now work as I made a release. But if you have any suggestions on what I can improve to make the installation process easier, I am happy to hear that.

it works with the fresh installation

(pytfm) PS C:\Users\alex\Downloads> pip install git+https://github.com/fabrylab/pyTFM.git --no-cache-dir --force-reinstall
Collecting git+https://github.com/fabrylab/pyTFM.git
  Cloning https://github.com/fabrylab/pyTFM.git to c:\users\alex\appdata\local\temp\pip-req-build-e246tk_h
  Running command git clone --filter=blob:none --quiet https://github.com/fabrylab/pyTFM.git 'C:\Users\alex\AppData\Local\Temp\pip-req-build-e246tk_h'
  Resolved https://github.com/fabrylab/pyTFM.git to commit 5d18dac13d3ad04dfe8193c990c159786f99d432
  Preparing metadata (setup.py) ... done
Collecting numpy
  Downloading numpy-1.22.2-cp310-cp310-win_amd64.whl (14.7 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 14.7/14.7 MB 4.4 MB/s eta 0:00:00
Collecting cython
  Downloading Cython-0.29.27-py2.py3-none-any.whl (983 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 983.7/983.7 KB 60.8 MB/s eta 0:00:00
Collecting openpiv==0.22.0
  Downloading OpenPIV-0.22.0.tar.gz (24.3 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 24.3/24.3 MB 73.1 MB/s eta 0:00:00
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting pyyaml
  Downloading PyYAML-6.0-cp310-cp310-win_amd64.whl (151 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 151.7/151.7 KB ? eta 0:00:00
Collecting scipy
  Downloading scipy-1.8.0-cp310-cp310-win_amd64.whl (37.0 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 37.0/37.0 MB 43.6 MB/s eta 0:00:00
Collecting scikit-image>=0.18.1
  Downloading scikit_image-0.19.1-cp310-cp310-win_amd64.whl (12.4 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 12.4/12.4 MB 40.9 MB/s eta 0:00:00
Collecting matplotlib>=2.1.2
  Downloading matplotlib-3.5.1-cp310-cp310-win_amd64.whl (7.2 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.2/7.2 MB 41.8 MB/s eta 0:00:00
Collecting tqdm
  Downloading tqdm-4.62.3-py2.py3-none-any.whl (76 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 76.2/76.2 KB ? eta 0:00:00
Collecting solidspy
  Downloading solidspy-1.0.16-py2.py3-none-any.whl (21 kB)
Collecting clickpoints>=1.9.6
  Downloading clickpoints-1.9.11-py3-none-any.whl (1.0 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.0/1.0 MB 31.7 MB/s eta 0:00:00
Collecting natsort
  Downloading natsort-8.1.0-py3-none-any.whl (37 kB)
Collecting imageio
  Downloading imageio-2.15.0-py3-none-any.whl (3.3 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.3/3.3 MB 53.6 MB/s eta 0:00:00
Collecting progressbar2
  Downloading progressbar2-4.0.0-py2.py3-none-any.whl (26 kB)
Collecting GitPython
  Downloading GitPython-3.1.26-py3-none-any.whl (180 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 180.9/180.9 KB 11.4 MB/s eta 0:00:00
Collecting qasync
  Downloading qasync-0.23.0-py3-none-any.whl (13 kB)
Collecting peewee>=3.1
  Downloading peewee-3.14.8.tar.gz (850 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 850.2/850.2 KB 52.5 MB/s eta 0:00:00
  Preparing metadata (setup.py) ... done
Collecting pyqt5
  Downloading PyQt5-5.15.6-cp36-abi3-win_amd64.whl (6.7 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.7/6.7 MB 48.1 MB/s eta 0:00:00
Collecting qimage2ndarray
  Downloading qimage2ndarray-1.8.3-py3-none-any.whl (11 kB)
Collecting pillow
  Downloading Pillow-9.0.1-cp310-cp310-win_amd64.whl (3.2 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.2/3.2 MB 68.7 MB/s eta 0:00:00
Collecting qtawesome
  Downloading QtAwesome-1.1.1-py3-none-any.whl (2.3 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.3/2.3 MB 72.6 MB/s eta 0:00:00
Collecting imagecodecs
  Downloading imagecodecs-2021.11.20-cp310-cp310-win_amd64.whl (14.2 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 14.2/14.2 MB 43.5 MB/s eta 0:00:00
Collecting sortedcontainers
  Downloading sortedcontainers-2.4.0-py2.py3-none-any.whl (29 kB)
Collecting python-dateutil>=2.8.1
  Downloading python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 247.7/247.7 KB ? eta 0:00:00
Collecting tifffile>=2020.2.16
  Downloading tifffile-2022.2.9-py3-none-any.whl (180 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 180.3/180.3 KB ? eta 0:00:00
Collecting psutil
  Downloading psutil-5.9.0-cp310-cp310-win_amd64.whl (245 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 245.5/245.5 KB ? eta 0:00:00
Collecting qtpy
  Downloading QtPy-2.0.1-py3-none-any.whl (65 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 65.7/65.7 KB ? eta 0:00:00
Collecting imageio-ffmpeg
  Downloading imageio_ffmpeg-0.4.5-py3-none-win_amd64.whl (22.6 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 22.6/22.6 MB 43.8 MB/s eta 0:00:00
Collecting cycler>=0.10
  Downloading cycler-0.11.0-py3-none-any.whl (6.4 kB)
Collecting pyparsing>=2.2.1
  Downloading pyparsing-3.0.7-py3-none-any.whl (98 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 98.0/98.0 KB ? eta 0:00:00
Collecting packaging>=20.0
  Downloading packaging-21.3-py3-none-any.whl (40 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 40.8/40.8 KB ? eta 0:00:00
Collecting kiwisolver>=1.0.1
  Downloading kiwisolver-1.3.2-cp310-cp310-win_amd64.whl (52 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 52.1/52.1 KB ? eta 0:00:00
Collecting fonttools>=4.22.0
  Downloading fonttools-4.29.1-py3-none-any.whl (895 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 895.5/895.5 KB 55.3 MB/s eta 0:00:00
Collecting networkx>=2.2
  Downloading networkx-2.6.3-py3-none-any.whl (1.9 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.9/1.9 MB 61.8 MB/s eta 0:00:00
Collecting PyWavelets>=1.1.1
  Downloading PyWavelets-1.2.0-cp310-cp310-win_amd64.whl (4.2 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.2/4.2 MB 66.8 MB/s eta 0:00:00
Collecting meshio
  Downloading meshio-5.3.0-py3-none-any.whl (165 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 165.6/165.6 KB 10.4 MB/s eta 0:00:00
Collecting easygui
  Downloading easygui-0.98.2-py2.py3-none-any.whl (92 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 92.1/92.1 KB 5.1 MB/s eta 0:00:00
Collecting colorama
  Downloading colorama-0.4.4-py2.py3-none-any.whl (16 kB)
Collecting six>=1.5
  Downloading six-1.16.0-py2.py3-none-any.whl (11 kB)
Collecting gitdb<5,>=4.0.1
  Downloading gitdb-4.0.9-py3-none-any.whl (63 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 63.1/63.1 KB ? eta 0:00:00
Collecting rich
  Downloading rich-11.2.0-py3-none-any.whl (217 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 217.3/217.3 KB 13.8 MB/s eta 0:00:00
Collecting python-utils>=3.0.0
  Downloading python_utils-3.1.0-py2.py3-none-any.whl (19 kB)
Collecting PyQt5-Qt5>=5.15.2
  Downloading PyQt5_Qt5-5.15.2-py3-none-win_amd64.whl (50.1 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 50.1/50.1 MB 50.4 MB/s eta 0:00:00
Collecting PyQt5-sip<13,>=12.8
  Downloading PyQt5_sip-12.9.1-cp310-cp310-win_amd64.whl (77 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 77.7/77.7 KB ? eta 0:00:00
Collecting smmap<6,>=3.0.1
  Downloading smmap-5.0.0-py3-none-any.whl (24 kB)
Collecting commonmark<0.10.0,>=0.9.0
  Downloading commonmark-0.9.1-py2.py3-none-any.whl (51 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 51.1/51.1 KB ? eta 0:00:00
Collecting pygments<3.0.0,>=2.6.0
  Downloading Pygments-2.11.2-py3-none-any.whl (1.1 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.1/1.1 MB 65.8 MB/s eta 0:00:00
Building wheels for collected packages: pyTFM, openpiv, peewee
  Building wheel for pyTFM (setup.py) ... done
  Created wheel for pyTFM: filename=pyTFM-1.3.3-py3-none-any.whl size=105954 sha256=aa1faebd810675a653b0967f85afb243539e5121c54f5f9099c6561c6ddfb7e4
  Stored in directory: C:\Users\alex\AppData\Local\Temp\pip-ephem-wheel-cache-ga0p6sz_\wheels\b9\73\02\3d4274efb7e4bdbe098893d1d7fe479b5fa2a8f9b014e3b57f
  Building wheel for openpiv (pyproject.toml) ... done
  Created wheel for openpiv: filename=OpenPIV-0.22.0-cp310-cp310-win_amd64.whl size=24498239 sha256=f4c73d00848ecadd95e357576c29c16185de4929639aea2e1f8b9551b664c12e
  Stored in directory: C:\Users\alex\AppData\Local\Temp\pip-ephem-wheel-cache-ga0p6sz_\wheels\9a\86\4d\ef1407a747f067a9793f97f4ccc6b6e35a6427e9134573abee
  Building wheel for peewee (setup.py) ... done
  Created wheel for peewee: filename=peewee-3.14.8-py3-none-any.whl size=131197 sha256=e04ed0865cd50b68299b290b73b7ea0a9735d9c2041a562ae3d3443fb13a6097
  Stored in directory: C:\Users\alex\AppData\Local\Temp\pip-ephem-wheel-cache-ga0p6sz_\wheels\03\16\b8\eb39dd476609f95323e082720c03aabc47e27fa2dbc910b04d
Successfully built pyTFM openpiv peewee
Installing collected packages: sortedcontainers, PyQt5-Qt5, peewee, easygui, commonmark, smmap, six, qasync, pyyaml, python-utils, PyQt5-sip, pyparsing, pygments, psutil, pillow, numpy, networkx, natsort, kiwisolver, imageio-ffmpeg, fonttools, cython, cycler, colorama, tqdm, tifffile, scipy, rich, qimage2ndarray, PyWavelets, python-dateutil, pyqt5, progressbar2, packaging, imageio, imagecodecs, gitdb, scikit-image, qtpy, meshio, matplotlib, GitPython, solidspy, qtawesome, openpiv, clickpoints, pyTFM
Successfully installed GitPython-3.1.26 PyQt5-Qt5-5.15.2 PyQt5-sip-12.9.1 PyWavelets-1.2.0 clickpoints-1.9.11 colorama-0.4.4 commonmark-0.9.1 cycler-0.11.0 cython-0.29.27 easygui-0.98.2 fonttools-4.29.1 gitdb-4.0.9 imagecodecs-2021.11.20 imageio-2.15.0 imageio-ffmpeg-0.4.5 kiwisolver-1.3.2 matplotlib-3.5.1 meshio-5.3.0 natsort-8.1.0 networkx-2.6.3 numpy-1.22.2 openpiv-0.22.0 packaging-21.3 peewee-3.14.8 pillow-9.0.1 progressbar2-4.0.0 psutil-5.9.0 pyTFM-1.3.3 pygments-2.11.2 pyparsing-3.0.7 pyqt5-5.15.6 python-dateutil-2.8.2 python-utils-3.1.0 pyyaml-6.0 qasync-0.23.0 qimage2ndarray-1.8.3 qtawesome-1.1.1 qtpy-2.0.1 rich-11.2.0 scikit-image-0.19.1 scipy-1.8.0 six-1.16.0 smmap-5.0.0 solidspy-1.0.16 sortedcontainers-2.4.0 tifffile-2022.2.9 tqdm-4.62.3