python + nix
change
commit 2d0692e0e69ba9ed61b45a23dbb429a88146ffb3
author Alpha Chen <alpha@kejadlen.dev>
date
parent 9de0aafc
diff --git a/.gitignore b/.gitignore
index 3c3629e..82b6267 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,7 @@
+# node
 node_modules
+
+# python
+.venv
+__pycache__
+_build
diff --git a/python/foo.py b/python/foo.py
new file mode 100644
index 0000000..13be646
--- /dev/null
+++ b/python/foo.py
@@ -0,0 +1,3 @@
+import yaml
+
+print(yaml.safe_load("foo: y"))
diff --git a/python/shell.nix b/python/shell.nix
new file mode 100644
index 0000000..1480933
--- /dev/null
+++ b/python/shell.nix
@@ -0,0 +1,16 @@
+let
+  pkgs = import <nixpkgs> {};
+in pkgs.mkShell {
+  buildInputs = [
+    pkgs.python3
+    pkgs.python3.pkgs.pip
+  ];
+  shellHook = ''
+    # Tells pip to put packages into $PIP_PREFIX instead of the usual locations.
+    # See https://pip.pypa.io/en/stable/user_guide/#environment-variables.
+    export PIP_PREFIX=$(pwd)/_build/pip_packages
+    export PYTHONPATH="$PIP_PREFIX/${pkgs.python3.sitePackages}:$PYTHONPATH"
+    export PATH="$PIP_PREFIX/bin:$PATH"
+    unset SOURCE_DATE_EPOCH
+  '';
+}