我知道如何使用nix
安装一些nix-env
软件包,但是其中有些我不知道如何安装,
例如:
https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/python-modules/pygit2/default.nix
如何安装该软件包?
仅查看.nix
文件如何知道程序包的全名?**
答案 0 :(得分:0)
如何安装该软件包?
nix-env -iA nixos.python3Packages.pygit2
。您可以将python3Packages
替换为您选择的python版本,例如改为python36Packages
。
仅查看.nix文件如何知道程序包的全名?
你只是不能。
原因是.nix文件的属性路径取决于如何从<nixpkgs>/pkgs/all-packages/top-level.nix
对其进行引用。在这种情况下,top.level.nix文件使所有python软件包都可以通过pythonPackages
或python3packages
属性进行访问。软件包本身在<nixpkgs>/pkgs/all-packages/python-packages.nix
中列出,现在每个条目最终都调用该软件包的nix表达式文件,就像您上面链接到的文件一样。
这将形成包pkgs.python3Packages.pygit2
的完整属性路径。浏览nixkpgs属性集的一个很好的工具是nix repl "<nixpkgs/nixos>"
,它使您进入带制表符补全的nix解释器。
使用nix-env
进行命令式软件安装时,您仍然必须在软件包的属性路径中用pkgs
替换nixos
。
无论如何,我还是建议您使用声明式软件管理,因为在那里您可以使用软件包的常规属性路径。