[Nix-dev] Fwd: Python 3 as default

Eelco Dolstra eelco.dolstra at logicblox.com
Mon Feb 27 16:20:42 CET 2017


Hi,

On 02/24/2017 07:54 AM, Freddy Rietdijk wrote:

>> I'd be happy to help with the process of mass-renaming, if somebody provided a
> list of packages wanting 2 or 3, however I suspect the real work is in
> determining those package sets.
> So, if a query-replace for `pkgs.python` -> `pkgs.python2` / `pkgs.python3`
> within nixpkgs would cause so much trouble, how would a rename in
> `all-packages.nix` fare any better? Are we ready to throw the switch yet?
> 
> All the packages that explicitly need Python 2 are already pinned to use Python
> 2. That was a matter of converting, testing, and moving on. About 150 packages
> were pinned to `python2`. That is why a `python = python3` won't break anything
> (or nearly nothing) in Nixpkgs anymore.

It may silently break external users, though. So removing the "python" attribute
is preferable to aliasing it to "python3".

BTW, I just noticed that the Python 3 package in 17.03 already defines a "python
-> python3" symlink (introduced by [1]). IMHO, we should revert that, since it
can only lead to pointless environment collision errors/warnings. Also, we
probably don't want to promote the use of the "python" executable name because
it's unversioned (so when Python 4 breaks the language again, we'll have to go
through this whole process again).

[1] https://github.com/NixOS/nixpkgs/commit/708822250e017f0256b0bace5af27a7232e6e1fd

-- 
Eelco Dolstra | LogicBlox, Inc. | http://nixos.org/~eelco/


More information about the nix-dev mailing list