onediff icon indicating copy to clipboard operation
onediff copied to clipboard

[Doc]undocumented matrix of dependencies when install

Open strint opened this issue 1 year ago • 5 comments

📚 The doc issue

Jake Dahn gives a very clear description of the installation problem. We put it here to follow the problem.

source: https://x.com/jakedahn/status/1816656205596496263


From Jake Dahn

I managed to get everything working, I was mostly struggling to get oneflow working.

The first problem I had, was I was trying to use python3.12 for which there are no working builds (as far as I can tell). So I swapped down to 3.11.

Then I went down the red herring path trying to understand which oneflow was the right oneflow, there are several distinct pip package repos, many of them include 1.0 packages while the ones I got working with onediff are the 0.9.1 dev builds from https://github.com/siliconflow/oneflow_releases/releases/expanded_assets/community_cu118

I also tried using nexfort, because the onediff readme implies that you only need either nexfort or oneflow. However if you are using the OneDiffX diffusers extensions, you are forced to use oneflow.

So when I say "one does not simply install oneflow", I mean there's a fairly undocumented/confusing/contradictory matrix of dependencies that are difficult to traverse. I don't say that to simply criticize, just trying to share my experience

thank you for onediff, it's great once you've got it working! <3

Suggest a potential alternative/fix

Tips

  • oneflow verison
  • python verison
  • OneDiffX with oneflow

strint avatar Jul 30 '24 04:07 strint

First ensure that python verison 3.10 and then install by readme to avoid version issues. The installation path can be python3.10-> Install the remaining dependencies in readme order- -> Then install OneDiffX

lijunliangTG avatar Jul 30 '24 05:07 lijunliangTG

@lijunliangTG For what it's worth, I did succeed in installing everything with python 3.11.

Is there a specific reason/benefit to choose 3.10?

jakedahn avatar Jul 31 '24 19:07 jakedahn

@jakedahn Because when I try to use onediff with python 3.10, I can install the onediff-related suite directly without any additional problems.

lijunliangTG avatar Aug 01 '24 08:08 lijunliangTG

@lijunliangTG For what it's worth, I did succeed in installing everything with python 3.11.

Is there a specific reason/benefit to choose 3.10?

Most of our dev and test is under 3.10.

But we should support 3.11 with no problem, and we will have a try.

strint avatar Aug 01 '24 08:08 strint

Related background info: https://github.com/siliconflow/onediff/blob/main/setup.py#L32-L34

@jackalcooper

strint avatar Aug 01 '24 08:08 strint