pyvista / pyiges

Python IGES Reader
https://pyvista.github.io/pyiges/
MIT License
33 stars 8 forks source link

Pip installation conflict #10

Open robertoost opened 3 years ago

robertoost commented 3 years ago

Installing this package using pip fails due to a dependency conflict between pyvista and vtk.

Full log below:

Installing pyiges...
Error:  An error occurred while installing pyiges!
Error text: Collecting pyiges
  Using cached pyiges-0.1.5-py3-none-any.whl (1.0 MB)
Collecting tqdm
  Using cached tqdm-4.61.0-py2.py3-none-any.whl (75 kB)
Collecting geomdl
  Using cached geomdl-5.3.1-py2.py3-none-any.whl (147 kB)
Collecting pyvista>=0.28.0
  Using cached pyvista-0.30.1-py3-none-any.whl (1.2 MB)
Collecting numpy
  Using cached numpy-1.20.3-cp39-cp39-win_amd64.whl (13.7 MB)
Collecting pillow
  Using cached Pillow-8.2.0-cp39-cp39-win_amd64.whl (2.2 MB)
Collecting transforms3d==0.3.1
  Using cached transforms3d-0.3.1.tar.gz (62 kB)
Collecting scooby>=0.5.1
  Using cached scooby-0.5.7-py3-none-any.whl (13 kB)
Collecting pyvista>=0.28.0
  Using cached pyvista-0.30.0-py3-none-any.whl (1.2 MB)
  Using cached pyvista-0.29.1-py3-none-any.whl (1.2 MB)
  Using cached pyvista-0.29.0-py3-none-any.whl (1.2 MB)
  Using cached pyvista-0.28.1-py3-none-any.whl (1.2 MB)
  Using cached pyvista-0.28.0-py3-none-any.whl (1.2 MB)
INFO: pip is looking at multiple versions of pyiges to determine which version is compatible with other requirements. This could take a while.
Collecting pyiges
  Using cached pyiges-0.1.4-py3-none-any.whl (1.0 MB)
  Using cached pyiges-0.1.3-py3-none-any.whl (14 kB)
  Using cached pyiges-0.1.2-py3-none-any.whl (12 kB)
  Using cached pyiges-0.1.1-py3-none-any.whl (12 kB)
Collecting pyvista>=0.22.0
  Using cached pyvista-0.27.4-py3-none-any.whl (1.2 MB)
  Using cached pyvista-0.27.3-py3-none-any.whl (1.2 MB)
  Using cached pyvista-0.27.2-py3-none-any.whl (1.2 MB)
  Using cached pyvista-0.27.1-py3-none-any.whl (1.2 MB)
  Using cached pyvista-0.27.0-py3-none-any.whl (1.2 MB)
  Using cached pyvista-0.26.1-py3-none-any.whl (1.2 MB)
  Using cached pyvista-0.26.0-py3-none-any.whl (1.2 MB)
  Using cached pyvista-0.25.3-py3-none-any.whl (1.2 MB)
  Using cached pyvista-0.25.2-py3-none-any.whl (1.2 MB)
  Using cached pyvista-0.25.1.tar.gz (1.2 MB)
Collecting imageio
  Using cached imageio-2.9.0-py3-none-any.whl (3.3 MB)
Collecting appdirs
  Using cached appdirs-1.4.4-py2.py3-none-any.whl (9.6 kB)
Collecting meshio<5.0,>=4.0.3
  Using cached meshio-4.4.3-py3-none-any.whl (153 kB)
Collecting pyvista>=0.22.0
  Using cached pyvista-0.24.3.tar.gz (1.2 MB)
  Using cached pyvista-0.24.2.tar.gz (1.2 MB)
  Using cached pyvista-0.24.1.tar.gz (1.2 MB)
  Using cached pyvista-0.24.0.tar.gz (1.2 MB)
  Using cached pyvista-0.23.1.tar.gz (1.2 MB)
  Using cached pyvista-0.23.0.tar.gz (1.2 MB)
  Using cached pyvista-0.22.4.tar.gz (1.2 MB)
  Using cached pyvista-0.22.2.tar.gz (1.2 MB)
  Using cached pyvista-0.22.1.tar.gz (1.2 MB)
  Using cached pyvista-0.22.0.tar.gz (1.2 MB)

The conflict is caused by:
    pyvista 0.30.1 depends on vtk
    pyvista 0.30.0 depends on vtk
    pyvista 0.29.1 depends on vtk
    pyvista 0.29.0 depends on vtk
    pyvista 0.28.1 depends on vtk
    pyvista 0.28.0 depends on vtk
    pyvista 0.27.4 depends on vtk
    pyvista 0.27.3 depends on vtk
    pyvista 0.27.2 depends on vtk
    pyvista 0.27.1 depends on vtk
    pyvista 0.27.0 depends on vtk
    pyvista 0.26.1 depends on vtk
    pyvista 0.26.0 depends on vtk
    pyvista 0.25.3 depends on vtk
    pyvista 0.25.2 depends on vtk
    pyvista 0.25.1 depends on vtk
    pyvista 0.24.3 depends on vtk
    pyvista 0.24.2 depends on vtk
    pyvista 0.24.1 depends on vtk
    pyvista 0.24.0 depends on vtk
    pyvista 0.23.1 depends on vtk
    pyvista 0.23.0 depends on vtk
    pyvista 0.22.4 depends on vtk
    pyvista 0.22.2 depends on vtk
    pyvista 0.22.1 depends on vtk
    pyvista 0.22.0 depends on vtk

To fix this you could try to:
1. loosen the range of package versions you've specified
2. remove package versions to allow pip attempt to solve the dependency conflict

ERROR: Cannot install pyiges because these package versions have conflicting dependencies.
ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/user_guide/#fixing-conflicting-dependencies

Installation Failed
robertoost commented 3 years ago

https://github.com/pyvista/pyvista/issues/534 seems to be relevant for this issue

robertoost commented 3 years ago

Apparently, manually installing vtk is a solution. There's a wheel available for vtk 9.0.1, which should solve the dependency issue. However, at this time the wheel is not available for python 3.9, so I installed python 3.8.9. Then, I ran this command

pip install https://www.vtk.org/files/release/9.0/vtk-9.0.1-cp38-cp38-win_amd64.whl

After which the regular pip install pyiges ran like it should. There might be more complicated options to install vtk for Python 3.9, but I have not explored them. And the wheel for 3.9 seems to be almost ready anyway.

Perhaps an addition to the installation instructions in the README is in order, although this might just be a very specific and temporary issue.

akaszynski commented 3 years ago

I'm going to try to fix this issue on the pyvista side since we're limited to the delays for VTK wheels.