nix为什么找不到python39?

问题描述

我想在nix上安装python 3.9(我正在NixOS 19.09.2166.ce9f1aaa39e(Loris)上运行nix 2.3.3)。它在NixOS / nixpkgs上定义为can be seen here

  python39 = callPackage ./cpython {
    self = python39;
    sourceVersion = {
      major = "3";
      minor = "9";
      patch = "0";
      suffix = "";
    };
    sha256 = "0m18z05nlmqm1zjw9s0ifgrn1jvjn3jwjg0bpswhjmw5k4yfcwww";
    inherit (darwin) configd;
    inherit passthruFun;
  };

该部分的最新更改于4周前2020-10-13。 (即使not yet released Python 3.10也可以在此文件中找到)

但是我用nix找不到它:

$ nix search -u python38 # is found
* nixpkgs.python38 (python3-3.8.0)
  A high-level dynamically-typed programming language

* nixpkgs.python38Full (python3-3.8.0)
  A high-level dynamically-typed programming language

$ nix search -u python39nix search -u python39 # is not found
error: no results for the given search term(s)!

为什么找不到/安装此软件包?这是“还没有发布给Nix”的问题吗?我应该怎么做(或应该阅读哪些文档)来安装软件包?

解决方法

这些nix命令默认情况下会查看您机器的nixos通道,该通道仍指向19.09版本。

您的GitHub链接引用是master,而不是nixos-19.09

NixOS 19.09已停产,因此您可能需要更新至20.09。