Skip to content
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

Tables v1.0.0 is restricting CSV.jl version #152

Closed
ianfiske opened this issue Feb 13, 2020 · 6 comments
Closed

Tables v1.0.0 is restricting CSV.jl version #152

ianfiske opened this issue Feb 13, 2020 · 6 comments

Comments

@ianfiske
Copy link

ianfiske commented Feb 13, 2020

I experienced this and also was reported in https://discourse.julialang.org/t/csv-stuck-on-old-version/34581. We don't quite understand the version interaction here, but perhaps you can take a look? Installing Tables 1.0.0 is reverting CSV to the old 0.3.1.

@davidanthoff
Copy link
Collaborator

I believe the problem is that there are lots of old versions of various packages out there that have a dep on Tables.jl without proper version bounds. So these old versions of packages essentially declare "I am compatible with any version of Tables". So now you get those old versions over newer versions that properly declare that they are not compatible with Tables 1.0. The error here is really with what these downstream packages did in the past, not with Tables.

I think the only solution that will fix this properly is to modify the general registry and put proper bounds on the Tables dependency on all these old versions of all packages that depend on Tables.

@ianfiske
Copy link
Author

Ah, that makes sense. Thanks @davidanthoff . Looks like JuliaData/CSV.jl#574 might also fix this. Will see!

@quinnj
Copy link
Member

quinnj commented Feb 13, 2020

Yes, @davidanthoff is correct. There was at least one case of a past DataFrames release (0.19.4) that had bounds on Tables like ">= 0.2.3", so for packages upgrading, it will roll DataFrames back to that version because it seems to "support" Tables.jl 1.0. There have been a few cases of bumps in the road for the entire JuliaLang package ecosystem as things have transitioned from the old METADATA, the new Pkg.jl system, and as packages have started tagging 1.0 releases.

@quinnj quinnj closed this as completed Feb 13, 2020
@ianfiske
Copy link
Author

Thanks @quinnj . It does seem strange that Pkg chooses to downgrade many packages in order to update one package, even though the user does not explicitly want to upgrade Tables. Perhaps the package version constraint solver could be adjusted for this situation to match the user's expectation a bit closer.

@tpapp
Copy link
Contributor

tpapp commented Feb 13, 2020

@ianfiske: if you don't want the suggestion about the resolver to get lost maybe mention this in an issue in the Pkg repository. What happened with CSV/Tables could provide a nice example, or a test case.

@davidanthoff
Copy link
Collaborator

I think what really should happen is that someone looks through the general registry and just fixes all deps that don't have an upper bound, I think every instance of that will sooner or later run into this problem. It really is a one-time exercise, but quite cumbersome...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants