-
Notifications
You must be signed in to change notification settings - Fork 85
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
dj.Diagram raises ValueError if it was installed from Conda (but works if it was installed from PyPI) #1065
Comments
I can confirm the error, however it only appeared for me when I created a table with a dependency. Dropping the related table resolved the issue. datajoint 0.13.7 pyhd8ed1ab_0 conda-forge
But adding another table (with dependency) results in the same error.
The tables work as intended as far as I was able to check. Installing datajoint again with
Minor Edit: Did a clean install. this time with only |
Running into the same issue after upgrading to 14.1 with |
I ran into the same error. It's related to breaking change in networkx. On it. |
Great! thx! |
Hi, have there been any solutions for this issue? I just did fresh install of datajoint on macOS 13.6 and I am trying out the shapes schema example and getting this same error. Note this is with a conda install, not pip. Should I reinstall with pip? Is there an alternative way of plotting the ERD? |
I will prioritize this to fix before our Harvard workshop. See you there. The current fix is to downgrade |
Thanks Dimitri. I was able to fix it through pip upgrading datajoint to 0.14.1, vs conda-forge version which looks to be 0.13.7 (Thanks Tobias Rose for the tip). Testing with python 3.9.18. I wasn't able to test on python>=3.10 because of a separate unrelated issue. |
For reference, |
To be explicit, downgrading networkx to 2.6.2 worked in my case |
Yes, we understand this backward incompatibly of networkx. Fix is coming. |
Bug Report
Description
When trying to plot the schema diagram with
dj.Diagram(schema)
, it raises an exception:Reproducibility
Include:
Here is a Dockerfile for installing DataJoint from Conda:
Use it to run a Jupyter Notebook and try to plot the diagram of a schema with
dj.Diagram(schema)
, it shows the ValueError. I know the diagram function depends on Graphviz, which was installed automatically while installing DataJoint:Also I have tried:
graphviz/now 2.42.2-6 amd64
) before running conda install, conda still installs its own Graphviz.Same issue persists.
Expected Behavior
The schema diagram can be plotted correctly.
Additional Research and Context
Actually if you install DataJoint with
pip install
, with system Graphviz from APT, the diagram function works properly. For verifying this I actually created two docker images to test (the above one installs DataJoint withconda
and the following one installs it withpip
). The pip Dockerfile works as expected, but the Conda one does not.Another difference I notice is that conda gets DataJoint 0.13.7 while pip gets DataJoint 0.13.8. So I have tried
pip install datajoint 0.13.7
, the diagram still works.The text was updated successfully, but these errors were encountered: