Replies: 2 comments 1 reply
-
my workaround is combine requirements of all nodes into 1 big file then pip install |
Beta Was this translation helpful? Give feedback.
-
This is a challenging aspect. It's the case where dependencies conflict between custom nodes. If we manage dependencies strictly, depending on the installation order, it can become impossible to resolve the dependencies. On the other hand, if we manage them loosely, even if conflicts occur, ignoring those parts and proceeding with the installation often allows for usage without major issues in most cases. Custom node developers can verify basic dependency issues between ComfyUI and custom nodes, but verifying dependencies between custom nodes and other custom nodes is practically impossible. For these reasons, in the case of ComfyUI-Manager, the initial method of installing dependencies for custom nodes using The most challenging aspect is that code created by researchers often consists of requirements frozen to specific versions. And recently, a significant proportion of custom nodes are simply ported versions of these research codes. |
Beta Was this translation helpful? Give feedback.
-
I recently ran into an issue where a ComfyUI change broke a custom node. The only way to fix it was to rollback ComfyUI but that rollback broke other custom nodes.
Fortunately the custom node fixed the problem quickly, but this is a classic dependency management problem and I wondered if there's been any discussion of making custom nodes Python dependencies to make it easier to handle and prevent such issues.
I'm not an expert in pip's dependency resolver, but this should also speed up the installation process since you'd do a single
pip install
that would do just one dependency resolution process, checks, and required installs. Right now, if you have several custom nodes, many of them do yet another pip install, which triggers that whole process again and a lot of duplicate work that slows down spinning up cloud machines.I'm interested in contributing to make that possible, but wanted to get a temperature check before investing the time.
Beta Was this translation helpful? Give feedback.
All reactions