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

python310: init at 3.10a1 #100384

Merged
merged 1 commit into from Oct 19, 2020
Merged

python310: init at 3.10a1 #100384

merged 1 commit into from Oct 19, 2020

Conversation

@jonringer
Copy link
Contributor

@jonringer jonringer commented Oct 13, 2020

Motivation for this change

Add next pre-release build

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.
@jonringer jonringer requested a review from FRidh as a code owner Oct 13, 2020
@jonringer
Copy link
Contributor Author

@jonringer jonringer commented Oct 13, 2020

@GrahamcOfBorg build python310.pkgs.setuptools
@GrahamcOfBorg build python310Packages.pip

@jonringer
Copy link
Contributor Author

@jonringer jonringer commented Oct 19, 2020

tests fail due to python310 not being able to install from a wheel.

I think this this commit is pretty uncontroversial, and it will make future updates easier

#100389 will remain open until the python ecosystem can install wheels

@jonringer jonringer merged commit 67d2de5 into NixOS:master Oct 19, 2020
22 of 26 checks passed
@FRidh
Copy link
Member

@FRidh FRidh commented Oct 19, 2020

Are you watching my screen?! I was just looking again into this and the upstream CPython issue :-)

@jonringer jonringer deleted the python310 branch Oct 19, 2020
@uri-canva
Copy link
Contributor

@uri-canva uri-canva commented Nov 12, 2020

This doesn't work on macOS: https://hydra.nixos.org/job/nixpkgs/trunk/python310.x86_64-darwin/all

Unfortunately if you try to install python3 on macOS it tries to install this now, rather than python3-3.9.0 which works.

@jonringer
Copy link
Contributor Author

@jonringer jonringer commented Nov 12, 2020

python3 should still point to python38 ....

python3 = python38;

unless you have an overlay. But that's not nixpkgs, that's your local machine at that point.

@uri-canva
Copy link
Contributor

@uri-canva uri-canva commented Nov 12, 2020

Yes, nix-env --install --attr nixpkgs.python3 installs python38, but nix-env install python3 installs python3-3.10.0a1. Also nix-env -u will try to upgrade both python3-3.9.0 and python3-3.8.6 to python3-3.10.0a1.

@jonringer
Copy link
Contributor Author

@jonringer jonringer commented Nov 13, 2020

oh.... nix-env....

python310 isn't really meant to be used... and can't even install wheels atm due to upstream issues.

@jonringer
Copy link
Contributor Author

@jonringer jonringer commented Nov 13, 2020

also, I don't have mac hardware, so a darwin contributor will need to contribute a working darwin build. I can mark this as a linux only to avoid it failing to build. But now that ofborg doesn't build darwin builds, the only "feedback" is hydra. And even then that's a particularly slow iteration loop

@uri-canva
Copy link
Contributor

@uri-canva uri-canva commented Nov 13, 2020

If it's not meant to be used, it's probably an issue that affects Linux as well, on distributions other than nixos: if I run nix-env --install python3 on ubuntu I'll also get python3-3.10.0a1, and it sounds like even though it builds correctly, it doesn't function correctly.

@jonringer
Copy link
Contributor Author

@jonringer jonringer commented Nov 13, 2020

personally, I don't use nix-env for this case, and many others.....

@jonringer
Copy link
Contributor Author

@jonringer jonringer commented Nov 13, 2020

for python, or any tool really, you should always pin something "up until" the next breaking change. python has breaking changes between minor versions, so getting the latest isn't what you want.

Really the issue is with nix-env's trying to imply desired behavior.

@uri-canva
Copy link
Contributor

@uri-canva uri-canva commented Nov 13, 2020

Yeah nix-shell with a derivation for a reproducible development environment makes more sense than nix-env, maybe there's a some packages that aren't meant to be used with nix-env.

@jonringer
Copy link
Contributor Author

@jonringer jonringer commented Nov 13, 2020

I view nix-env as, "similar to other package managers", but misses the mark on why nix is great. Almost to the point that people should avoid using it for package installation.

@nixos-discourse
Copy link

@nixos-discourse nixos-discourse commented Nov 13, 2020

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/new-users-using-nix-not-nixos-wrong/9996/1

@FRidh
Copy link
Member

@FRidh FRidh commented Nov 13, 2020

@uri-canva the first thing to learn about nix-env is, don't ever use nix-env -i, but always nix-env -iA.

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

Successfully merging this pull request may close these issues.

None yet

4 participants