plotly / Dash.jl

Dash for Julia - A Julia interface to the Dash ecosystem for creating analytic web applications in Julia. No JavaScript required.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Can't install in Julia 1.5.1

PallHaraldsson opened this issue · comments

Even with empty .julia on Julia 1.5.1:

julia> using Pkg; Pkg.add(PackageSpec(url="https://github.com/plotly/Dash.jl.git"))
    Cloning git-repo `https://github.com/plotly/Dash.jl.git`
[..]

      Added registry `General` to `~/.julia/registries/General`
ERROR: Unsatisfiable requirements detected for package DashHtmlComponents [1b08a953]:
 DashHtmlComponents [1b08a953] log:
 ├─DashHtmlComponents [1b08a953] has no known versions!
 └─restricted to versions 1.0.3-1 by Dash [1b08a953] — no versions left
   └─Dash [1b08a953] log:
     ├─possible versions are: 0.1.0 or uninstalled
     └─Dash [1b08a953] is fixed to version 0.1.0
Stacktrace:

EDIT: The other installation instructions in the README DO work, and then finally the examples.

What I did to solve this is remove ~/.julia/packages and ~/.julia/environments. It is not good solution, but works for some lazy julian like me 😅 .

@PallHaraldsson I'm sorry you ran into this error, I believe (@waralex may correct me) that it's related to the ongoing registration process for Dash.jl.

Once everything is registered, it should work to install using Dash.jl using the above command on its own, but for now (while submission is in progress) I think you'll need to install DashHtmlComponents, DashCoreComponents, and DashTable beforehand.

This works as a temporary measure

using Pkg
Pkg.add(PackageSpec(url="https://github.com/plotly/DashBase.jl.git"))
Pkg.add(PackageSpec(url="https://github.com/plotly/dash-html-components.git", rev="master"))
Pkg.add(PackageSpec(url="https://github.com/plotly/dash-core-components.git", rev="master"))
Pkg.add(PackageSpec(url="https://github.com/plotly/dash-table.git", rev="master"))
Pkg.add(PackageSpec(url="https://github.com/plotly/Dash.jl.git", rev="dev"))

Thanks,

Once everything is registered

I see e.g. "New package: DashTable v4.10.1" in the General queue, but not Dash. I'm not worried, just pointing out if it was forgotten.

DashTable v4.10.1" in the General queue, but not Dash

Since Dash has dependencies on the core components(DashTable, DashHtmlComponents and DashCoreComponents), it seemed to me that it is not very correct to register it when its dependencies are not registered. As soon as the core components are registered I will immediately send Dash to registration

Maybe you're right. If all goes well, packages are merged in order I believe (after a three-day waitng period; there was talk of getting rid of that). I'm not sure I would be too worried with submitting Dash.jl, assuming it gets registered later. I'm not sure what others do, or what happens if they would get merged out-of-order, i.e. Dash before.

That said, if you're waiting for the others then at least one (maybe all) seems to be blocked for merging (been 5 days):
JuliaRegistries/General#20790 (comment)

The component packages are non-standard for Julia. Therefore, they do not fall under the auto-merge conditions (at least we can not release them under version 0.1.0 or 1.0.0 because the version is end-to-end for all languages). So at least the initial release will be in manual mode. And this is another reason why I didn't send Dash for registration - it should register automatically much faster. I communicated in Julia's slack with Fredrik Ekre, he seemed to say that they will be registered in this form.

@PallHaraldsson Thanks a lot! The components are registered and I think that today we will send Dash to registration

I didn't do much. Just not this (while still registered):
JuliaRegistries/General#20790 (comment)

The error I got seems gone not that Dash.jl is registered. Using either that method, or the standard one. However I do get some downgrades, e.g. DataStructures (but not on maser, so you may just want to tag a version), and still (I fixed by using Mux#master JuliaWeb/Mux.jl#110):

  [50d2b5c4] ↓ Lazy v0.15.1 ⇒ v0.14.0

(@v1.5) pkg> add Lazy@v0.15.1
  Resolving package versions...
ERROR: Unsatisfiable requirements detected for package Blink [ad839575]:
 Blink [ad839575] log:
 ├─possible versions are: [0.8.0-0.8.1, 0.9.0, 0.10.0-0.10.1, 0.11.0, 0.12.0-0.12.3] or uninstalled
 ├─restricted by compatibility requirements with Lazy [50d2b5c4] to versions: 0.12.3 or uninstalled
 │ └─Lazy [50d2b5c4] log:
 │   ├─possible versions are: [0.13.0-0.13.2, 0.14.0, 0.15.0-0.15.1] or uninstalled
 │   └─restricted to versions 0.15.1 by an explicit requirement, leaving only versions 0.15.1
 ├─restricted by compatibility requirements with Mux [a975b10e] to versions: uninstalled
 │ └─Mux [a975b10e] log:
 │   ├─possible versions are: [0.4.0, 0.5.0-0.5.3, 0.6.0, 0.7.0-0.7.2] or uninstalled
 │   └─restricted by compatibility requirements with Lazy [50d2b5c4] to versions: uninstalled
 │     └─Lazy [50d2b5c4] log: see above
 └─restricted by compatibility requirements with PlotlyJS [f0f68f2c] to versions: [0.8.0-0.8.1, 0.9.0, 0.10.0-0.10.1, 0.11.0, 0.12.0-0.12.3] — no versions left
   └─PlotlyJS [f0f68f2c] log:
     ├─possible versions are: [0.11.0-0.11.2, 0.12.0-0.12.5, 0.13.0-0.13.1, 0.14.0] or uninstalled
     └─restricted by compatibility requirements with Plotly [58dd65bb] to versions: [0.11.0-0.11.2, 0.12.0-0.12.5, 0.13.0-0.13.1, 0.14.0]
       └─Plotly [58dd65bb] log:
         ├─possible versions are: [0.2.0, 0.3.0] or uninstalled
         └─restricted to versions * by an explicit requirement, leaving only versions [0.2.0, 0.3.0]

@PallHaraldsson
Sorry, I didn't really understand. What you wrote was caused by Dash? I'm currently going to release 0.1.1 which adds compatibility with DataStructures 0.18

Sorry about that, yes, master works so tagging a release will fix (and works either way with the downgrade). I do see a red "FAILED" however on your page, and at Juliahub.com.

"FAILED" however on your page,

Yes, there was a problem with one the integrations tests when preparing v0.1.1, I hope that I will solve it today. The problem is in the test itself, not in the Dash code