Skip to content

Problem with install dependencies in Python 3.8 #858

@timdiller

Description

@timdiller

Problem Description
There is what I believe to a problem with the installation dependencies for Chaco. With a bare installation of Chaco, any attempted import results in ModuleNotFoundError: no module named 'pyparsing'. I have not tried this on platforms other than macOS, but I suspect this is not platform dependent.

Reproduction Steps:

❯ edm install -e foo chaco
No value provided for --version. Assuming 3.8
Fetching indices for runtime repositories. done
Fetching indices for package repositories. done
Fetching indices for runtime repositories. done
Installing runtime... done
The following packages will be installed:

    chaco                5.1.1-1        1022     KiB
    enable               5.3.1-5           3.3   MiB
    fonttools            4.31.1-1        985     KiB
    importlib_resources  5.4.0-1          27     KiB
    intel_openmp         2021.4.28-1       1.1   MiB
    libfreetype          2.12.1-1        637     KiB
    libharfbuzz          3.2.0-4         924     KiB
    liblcms2             2.12-1          197     KiB
    libopenjpeg          2.4.0.post1-1   190     KiB
    libpng               1.6.37-100      242     KiB
    libtiff              4.3.0-2         213     KiB
    libturbojpeg         2.1.2-1         430     KiB
    libzstd              1.5.0-1           1.12  MiB
    mkl                  2021.3.0-1      192.63  MiB
    mkl_service          2.4.0-1          47     KiB
    numpy                1.21.2-2          7.45  MiB
    pillow_simd          9.0.0.post1-2   876     KiB
    pyface               7.4.4-2           2.41  MiB
    traits               6.4.1-1           4.76  MiB
    traitsui             7.4.3-1           2.62  MiB
    zipp                 3.7.0-1           6     KiB

Do you want to continue ? [Y/n]: 
Installing/removing package(s)
chaco               [...................................................................................]

❯ edm shell -e foo
Starting new shell in EDM environment 'foo'.
Type 'exit' or 'Ctrl+D' to return.

$foo ❯ python
Enthought Deployment Manager -- https://www.enthought.com/
Python 3.8.12 |Enthought, Inc. (x86_64)| (default, Sep 27 2021, 11:51:02) 
[Clang 12.0.0 (clang-1200.0.32.29)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from chaco.api import ArrayPlotData                                                    
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/tdiller/.edm/envs/foo/lib/python3.8/site-packages/chaco/api.py", line 343, in <module>
    from chaco.overlays.api import (
  File "/Users/tdiller/.edm/envs/foo/lib/python3.8/site-packages/chaco/overlays/api.py", line 63, in <module>
    from chaco.overlays.layers.api import (
  File "/Users/tdiller/.edm/envs/foo/lib/python3.8/site-packages/chaco/overlays/layers/api.py", line 11, in <module>
    from .status_layer import ErrorLayer, StatusLayer, WarningLayer
  File "/Users/tdiller/.edm/envs/foo/lib/python3.8/site-packages/chaco/overlays/layers/status_layer.py", line 17, in <module>
    from enable.savage.svg.document import SVGDocument
  File "/Users/tdiller/.edm/envs/foo/lib/python3.8/site-packages/enable/savage/svg/document.py", line 27, in <module>
    from . import css
  File "/Users/tdiller/.edm/envs/foo/lib/python3.8/site-packages/enable/savage/svg/css/__init__.py", line 10, in <module>
    from .transform import transformList
  File "/Users/tdiller/.edm/envs/foo/lib/python3.8/site-packages/enable/savage/svg/css/transform.py", line 14, in <module>
    from pyparsing import Group, Literal, Optional, delimitedList
ModuleNotFoundError: No module named 'pyparsing'

Expected behavior:
Either Chaco should include pyparsing as a dependency such that it is installed during environment creation, or maybe chaco.api could be reworked such that the pyparsing is not needed. [credit: @mdickinson for the diagnosis]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions