-
Notifications
You must be signed in to change notification settings - Fork 532
Incompatibility with networkx>=2 and version conflict with prov dependency #2820
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
@tclose - there is obviously some weird thing happening here, but we have been running with |
This might be pip's problem, which doesn't do full-bore dependency resolution. I would just try |
That is interesting. Do you use Python 3.7? I just reinstalled everything in a virtualenv but still get the same issue with networkx>=2. Here is the full stack trace
pip freeze gives this
|
Actually, I just realised it doesn't happen for every workflow that I run, so it looks as though it might be another case of my funky auto-generated workflows exploring an obscure corner of the code. You should hopefully be able to reproduce the error by checking out the master branch from http://github.com/MonashBI/arcana and running the /test/unittests/study/test_study.py unittests (Arcana's dependencies can be installed using the setup.py, however it will force the installation of networkx==1.9, which you will need to manually upgrade after). Only the 'test_run_pipeline_with_prereqs' test errors so you should be able to compare the workflow generated by it with the others in the module. I have had a quick look but can't see anything obvious. |
That's a fairly distinctive sort of error. It looks like we didn't wrap enough calls to If |
Yep #2828 fixes the problem, thanks |
Summary
As far as I can tell nipype isn't compatible with networkx>=2, as running with networkx>=2 raises a "graph change during iteration" error. So perhaps this should be reflected in the install requires of the setup.py (i.e. frozen at networkx==1.9).
However, it is complicated by the fact that another dependency, prov>=1.5.2 requires networkx>=2, and attempting to use the nipypecli with prov>=1.5.2 with networkx==1.9 raises a 'pkg_resources.ContextualVersionConflict' error (at least with Python 3.7)
Actual behavior
An error is raised
Expected behavior
How to replicate the behavior
Install networkx==1.9 and prov==1.5.2 and use nipypcli crash to open a crash file
Script/Workflow details
N/A
Platform details:
Execution environment
My python environment outside container
The text was updated successfully, but these errors were encountered: