Closed timdiller closed 1 year ago
Thanks, @timdiller. It's worth noting that Enable is in the mix too - the dependency on pyparsing
goes through Enable. However, pyparsing
isn't needed for a simple import enable.api
. So I see three possible resolutions:
pyparsing
a hard dependency, in which case the fix would be with the Enable dependencies and recipes.pyparsing
an optional dependency, but since Chaco is using the bits of Enable that require pyparsing
, Chaco would make pyparsing
an explicit dependencypyparsing
an optional dependency, so that in particular import chaco.api
doesn't attempt to bring in pyparsing
.@jwiggins Should pyparsing
be a non-optional dependency of Enable? Or should we be fixing this entirely in Chaco-land?
It should probably be an optional dependency of Enable since it's only needed for the SVG bits
@jwiggins Thanks. Then I think the most desirable solution is probably option 3: make pyparsing
an optional dependency of Chaco, and ensure (somehow) that import chaco.api
doesn't automatically try to import pyparsing
.
Slightly orthogonal, but sometimes I wonder if we should pull the svg stuff out into at least its own top-level package in enable project - almost no one knows its there and that would allow us to surface things like this more clearly.
This should now be resolved by #891, in particular this line: https://github.com/enthought/chaco/blob/5603512bbad193766d4d63658fa6ce2a0408045c/chaco/__init__.py#L17
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:
Expected behavior: Either Chaco should include
pyparsing
as a dependency such that it is installed during environment creation, or maybechaco.api
could be reworked such that thepyparsing
is not needed. [credit: @mdickinson for the diagnosis]