JuliaStats / StatsKit.jl

Convenience meta-package to load essential packages for statistics
Other
139 stars 16 forks source link

Version conflicts between StatsModels and Bootstrap prevents adding StatsKit #20

Closed braamvandyk closed 4 years ago

braamvandyk commented 4 years ago

Short version: I can't add StatsKit to Julia v1.2 due to version conflicts:

(v1.2) pkg> add StatsKit
 Resolving package versions...
ERROR: Unsatisfiable requirements detected for package Bootstrap [e28b5b4c]:
 Bootstrap [e28b5b4c] log:
 ├─possible versions are: [0.0.1-0.0.3, 0.1.0-0.1.1, 0.2.0, 0.3.0-0.3.3, 1.0.0, 1.1.0, 1.2.0, 2.0.0-2.0.1, 2.1.0] or uninstalled
 ├─restricted by compatibility requirements with DataFrames [a93c6f00] to versions: [1.2.0, 2.0.0-2.0.1, 2.1.0] or uninstalled
 │ └─DataFrames [a93c6f00] log:
 │   ├─possible versions are: [0.1.0, 0.2.0-0.2.5, 0.3.0-0.3.16, 0.4.0-0.4.3, 0.5.0-0.5.12, 0.6.0-0.6.11, 0.7.0-0.7.8, 0.8.0-0.8.5, 0.9.0-0.9.1, 0.10.0-0.10.1, 0.11.0-0.11.7, 0.12.0, 0.13.0-0.13.1, 0.14.0-0.14.1, 0.15.0-0.15.2, 0.16.0, 0.17.0-0.17.1, 0.18.0-0.18.4, 0.19.0-0.19.3] or uninstalled
 │   └─restricted to versions 0.19.3 by an explicit requirement, leaving only versions 0.19.3
 ├─restricted by compatibility requirements with StatsKit [2cb19f9e] to versions: [0.0.1-0.0.3, 0.1.0-0.1.1, 0.2.0, 0.3.0-0.3.3, 1.0.0, 1.1.0, 1.2.0, 2.0.0-2.0.1, 2.1.0], leaving only versions: [1.2.0, 2.0.0-2.0.1, 2.1.0]
 │ └─StatsKit [2cb19f9e] log:
 │   ├─possible versions are: 0.3.0 or uninstalled
 │   └─restricted to versions * by an explicit requirement, leaving only versions 0.3.0
 ├─restricted by julia compatibility requirements to versions: [2.0.0-2.0.1, 2.1.0] or uninstalled, leaving only versions: [2.0.0-2.0.1, 2.1.0]
 └─restricted by compatibility requirements with StatsModels [3eaba693] to versions: [0.0.1-0.0.3, 0.1.0-0.1.1, 0.2.0, 0.3.0-0.3.3, 1.0.0, 1.1.0] or uninstalled — no versions left
   └─StatsModels [3eaba693] log:
     ├─possible versions are: [0.0.1-0.0.2, 0.1.0, 0.2.0-0.2.6, 0.3.0-0.3.1, 0.4.0, 0.5.0, 0.6.0-0.6.3] or uninstalled
     ├─restricted by compatibility requirements with DataFrames [a93c6f00] to versions: [0.1.0, 0.2.0-0.2.6, 0.3.0-0.3.1, 0.4.0, 0.5.0, 0.6.0-0.6.3] or uninstalled
     │ └─DataFrames [a93c6f00] log: see above
     └─restricted by compatibility requirements with GLM [38e38edf] to versions: 0.6.0-0.6.3
       └─GLM [38e38edf] log:
         ├─possible versions are: [0.2.0-0.2.5, 0.3.0-0.3.2, 0.4.0-0.4.8, 0.5.0-0.5.6, 0.6.0-0.6.1, 0.7.0, 0.8.0-0.8.1, 0.9.0, 0.10.0-0.10.1, 0.11.0, 1.0.0-1.0.2, 1.1.0-1.1.1, 1.2.0, 1.3.0-1.3.1] or uninstalled
         └─restricted to versions 1.3.1 by an explicit requirement, leaving only versions 1.3.1

The problems seems to be between StatsModels and Bootstrap:

(v1.2) pkg> add StatsModels
 Resolving package versions...
  Updating `C:\Users\braam\.julia\environments\v1.2\Project.toml`
  [3eaba693] + StatsModels v0.6.3
  Updating `C:\Users\braam\.julia\environments\v1.2\Manifest.toml`
 [no changes]

(v1.2) pkg> add Bootstrap
 Resolving package versions...
ERROR: Unsatisfiable requirements detected for package Bootstrap [e28b5b4c]:
 Bootstrap [e28b5b4c] log:
 ├─possible versions are: [0.0.1-0.0.3, 0.1.0-0.1.1, 0.2.0, 0.3.0-0.3.3, 1.0.0, 1.1.0, 1.2.0, 2.0.0-2.0.1, 2.1.0] or uninstalled
 ├─restricted to versions * by an explicit requirement, leaving only versions [0.0.1-0.0.3, 0.1.0-0.1.1, 0.2.0, 0.3.0-0.3.3, 1.0.0, 1.1.0, 1.2.0, 2.0.0-2.0.1, 2.1.0]
 ├─restricted by julia compatibility requirements to versions: [2.0.0-2.0.1, 2.1.0] or uninstalled, leaving only versions: [2.0.0-2.0.1, 2.1.0]
 └─restricted by compatibility requirements with StatsModels [3eaba693] to versions: [0.0.1-0.0.3, 0.1.0-0.1.1, 0.2.0, 0.3.0-0.3.3, 1.0.0, 1.1.0] or uninstalled — no versions left
   └─StatsModels [3eaba693] log:
     ├─possible versions are: [0.0.1-0.0.2, 0.1.0, 0.2.0-0.2.6, 0.3.0-0.3.1, 0.4.0, 0.5.0, 0.6.0-0.6.3] or uninstalled
     └─restricted to versions 0.6.3 by an explicit requirement, leaving only versions 0.6.3

This was apparently resolved (at least according to juliangehring/Bootstrap.jl#52), but apparently hasn't made its way to the current release. Not really a StatsKit.jl issue directly, but that is where the pain is now felt.

nalimilan commented 4 years ago

Thanks for the report. Unfortunately, as you say, it cannot be fixed in StatsKit. Bootstrap.jl still doesn't support StatsModels 0.6, and it looks like the dependencies resolver is unable to find a working combination of packages (AFAIK it's going to be rewritten to fix this at some point). I've requested a new version at https://github.com/juliangehring/Bootstrap.jl/pull/57#issuecomment-527624993.

KristofferC commented 4 years ago

It isn't the resolver's fault, it is what Pkg feeds the resolver. Fortunately, we have a fix on the way: https://github.com/JuliaLang/Pkg.jl/pull/1330. Using that PR:

(Pkg) pkg> add StatsModels
 Resolving package versions...
  Updating `~/Pkg.jl/Project.toml`
  [3eaba693] + StatsModels v0.6.3
...

(Pkg) pkg> add Bootstrap
 Resolving package versions...
 Installed StatsModels ─ v0.5.0
 Installed Bootstrap ─── v2.1.0
  Updating `~/Pkg.jl/Project.toml`
  [e28b5b4c] + Bootstrap v2.1.0
  [3eaba693] ↓ StatsModels v0.6.3 ⇒ v0.5.0
...
KristofferC commented 4 years ago

To workaround it with the current Pkg you can do add StatsModels Bootstrap in one call to Pkg.

nalimilan commented 4 years ago

Will be fixed by https://github.com/JuliaRegistries/General/pull/3230.