NixOs에 Jupyter 노트북을 설치하려고 하는데 numpy 및 기타 라이브러리를 jupyter에 설치하는 방법을 찾을 수 없습니다. 이제 다음과 같은 것을 추가했습니다 configuration.nix
.
{ config, pkgs, ... }:
let
python3-with-my-packages =
pkgs.python3.withPackages (python-packages: with python-packages; [
numpy
]);
in
{
environment.systemPackages = with pkgs; [
python3-with-my-packages
jupyter
];
[...]
}
답변1
작은 Jupyter Notebook shell.nix
파일은 다음과 같습니다.
with import <nixpkgs> {};
(pkgs.python3.withPackages (ps: with ps; [
ipykernel jupyterlab
matplotlib numpy pandas seaborn
networkx
])).env
먼저 shell.nix
수정된 버전의 파일을 프로젝트 디렉터리에 복사하고 실행합니다 nix-shell --run "jupyter lab"
.
답변2
이것이 최선의 해결책이라고 말하는 것은 아니지만 패키지가 우리에게 필요한 패키지가 아닌 것 같습니다. 대신 Python 패키지를 deps 목록에 jupyter
추가하려고 합니다 .notebook
{ config, pkgs, ... }:
let
python3-with-my-packages =
pkgs.python3.withPackages (python-packages: with python-packages; [
numpy
notebook
]);
in
{
environment.systemPackages = with pkgs; [
python3-with-my-packages
];
[...]
}
이것이 갈 길이 아닌지, 더 나은 해결책이 있다면 알려주세요!
답변3
이 주제를 확인해 볼 수도 있습니다.배터리가 포함된 Jupyter 노트북NixOS Discourse의 Jupyter Notebook에 대한 Nixy 종속성 관리에 대한 일부 논의입니다.
Nix가 아닌 환경과 호환되는 것을 원한다면 mkPoetryEnv
다음의 도움을 받아 NixOS에서 Poetry를 사용하는 방법을 찾았 습니다 buildFHSUserEnv
.
Poetry 프로젝트의 최상위 디렉터리에 두 개의 파일을 배치하면 됩니다.
poetry-env.nix
{pkgs ? import <nixpkgs> {} }:
let
lib = pkgs.lib;
poetry2nix = pkgs.poetry2nix;
python37 = pkgs.python37;
in
poetry2nix.mkPoetryEnv {
python = python37;
pyproject = ./pyproject.toml;
poetrylock = ./poetry.lock;
}
poetry-env-fhs.nix
{
pkgs ? import <nixpkgs> {},
# This allows us to provide a command to run via `--argstr run COMMAND`.
run ? "bash"
}:
let
poetry-env = import ./poetry-env.nix { };
in
with pkgs; (buildFHSUserEnv {
name = "poetry-env-fhs";
targetPkgs = pkgs: with pkgs; [
# curl
# git
gcc
gnumake
python37Packages.poetry
pandoc # for pdf conversion
texlive.combined.scheme-full # for pdf conversion
which # a convenient tool in vertualized environments
] ++ [
poetry-env
];
runScript = "${run}";
profile = ''
# export SSL_CERT_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt
# export GIT_SSL_CAINFO="$SSL_CERT_FILE"
# export LANG=C.UTF-8
'';
}).env
nix-build ./poetry-env.nix
mkPoetryEnv는 패키지를 빌드하는 데 꽤 오랜 시간이 걸리므로 빌드 결과가 GC에서 처리되지 않도록 하는 것이 좋습니다 .
답변4
다음은 Nixos와 함께 Juypter를 사용하는 방법에 대한 훌륭한 기사입니다.