Я определил следующую среду в default.nix
:Как я могу определить окружение Nix, что по умолчанию Python 3.5
with import <nixpkgs> {};
stdenv.mkDerivation rec {
name = "env";
env = buildEnv { name = name; paths = buildInputs; };
buildInputs = [
python35
python35Packages.pyyaml
];
}
Если я бегу nix-shell
, python
еще будет система питона на /usr/bin/python
(работает на Ubuntu), а python3
- символическая ссылка на двоичный файл Python 3.5, установленный Nix. Есть ли способ определить среду, чтобы python
указывал на Nix Python 3.5?
На данный момент, это кажется лучшим решением, хотя мне не нравится, что он не будет работать со скриптами, которые используют, например, '/ usr/bin/env python'. Тем не менее, есть новый запрос на перенос (https://github.com/NixOS/nixpkgs/pull/19554), и кажется, что python3 скоро станет по умолчанию в Nix. – tlo