長い名前のパッケージでnix-shellを起動する方法

長い名前のパッケージでnix-shellを起動する方法
nix-env -iA nixpkgs.python311

効果がある

しかし、私が作ったとき

nix-shell -p nixpkgs.python311

または

nix-shell -p python3-3.11.1

明らかに名前とパラメータに問題があるようです。

nix-shell -p python3-3.11.1エラー: 'python3-3'変数が定義されていません。

   at «string»:1:107:

        1| {...}@args: with import <nixpkgs> args; (pkgs.runCommandCC or pkgs.runCommand) "shell" { buildInputs = [

(python3-3.11.1)]; } "" | ^(詳細な位置情報を表示するには、「--show-trace」を使用してください)

挨拶

ベストアンサー1

任意のNix式をに渡すには、nix-shell -p括弧内に入れます。

nix-shell -p '((import <nixpkgs> {}).python311)'

接続できるすべての項目は上記の場所nix-env -iA nixpkgs.に接続できる必要があります。python311次の用途にも使用できます。

nix-shell -p \
  '((import <nixpkgs> {}).python311.withPackages (p: [p.lxml p.pyyaml]))'

...lxmlとPyYAMLがインストールされているPython 3.11を提供します。

おすすめ記事