Utoljára aktív 1 year ago

nix-shell for python + poetry + psycopg

Revízió aa856a39592652e2b479b74fcced72f0785e5fba

shell.nix Eredeti
1# Small nix-shell environment for python 3.10 + poetry
2#
3# See https://nixos.wiki/wiki/Python
4# launch with nix-shell (and not 'nix shell' !)
5#
6# nix-shell --run 'python --version; poetry --version'
7# Python 3.10.13
8# Poetry (version 1.7.1)
9#
10# Also, you can heck https://nixos.org/manual/nixpkgs/stable/#sec-pkgs-mkShell
11#
12let
13 pkgs = import <nixpkgs> { };
14 pythonEnv = pkgs.python310.withPackages (pythonPackages: with pythonPackages; [
15 jinja2
16 pyyaml
17 pip
18 numpy
19 psycopg
20 virtualenv
21 ]);
22 packages = with pkgs; [
23 postgresql_14
24 pythonEnv
25 stdenv.cc.cc.lib
26 ];
27in
28pkgs.mkShell {
29 packages = packages;
30 shellHook = ''
31 export LD_LIBRARY_PATH="${pkgs.postgresql_14.lib}/lib:${pkgs.stdenv.cc.cc.lib}/lib:$LD_LIBRARY_PATH"
32 python --version
33 poetry --version
34
35 export VIRTUAL_ENV_DISABLE_PROMPT=1
36 export POETRY_VENV=/tmp/.venv-py310-poetry
37
38 if test ! -e $POETRY_VENV
39 then
40 python -m venv $POETRY_VENV
41 $POETRY_VENV/bin/pip install poetry
42 fi
43
44 alias ll='ls -ltr'
45 alias poetry=$POETRY_VENV/bin/poetry
46 '';
47}
48