Packaging/Python: Difference between revisions
reintroduce comment that tells ppl to replace ./derivation.nix with the appropriate path |
m Fixed formatting error with note |
||
| (3 intermediate revisions by one other user not shown) | |||
| Line 33: | Line 33: | ||
pkgs = import nixpkgs { inherit system; }; | pkgs = import nixpkgs { inherit system; }; | ||
# replace ./derivation.nix with the path (relative to this file) to your derivation | # replace ./derivation.nix with the path (relative to this file) to your derivation | ||
mypackage = pkgs.python3Packages.callPackage ./derivation.nix { | |||
lib = pkgs.lib; | lib = pkgs.lib; | ||
}; | }; | ||
in { | in { | ||
packages.default = pkgs.python3.withPackages(_: [ mypackage ]); | |||
}); | }); | ||
} | } | ||
</syntaxhighlight>Replace "mypackage" with your package name. Then, | </syntaxhighlight>Replace "mypackage" with your package name. Then, run the flake to get into a python REPL with your package, ready to be imported:<syntaxhighlight lang="shell-session"> | ||
$ nix | $ nix run | ||
Python 3.11.10 (main, Sep 7 2024, 01:03:31) [GCC 13.2.0] on linux | Python 3.11.10 (main, Sep 7 2024, 01:03:31) [GCC 13.2.0] on linux | ||
Type "help", "copyright", "credits" or "license" for more information. | Type "help", "copyright", "credits" or "license" for more information. | ||
| Line 52: | Line 49: | ||
== Pip and Virtualenv enabled nix-shell == | == Pip and Virtualenv enabled nix-shell == | ||
It might be the case that you simply need to prototype fast small projects with <code>pip</code> and <code>virtualenv</code> without the need for relying on the dependencies being already packaged in nixpkgs. | It might be the case that you simply need to prototype fast small projects with <code>pip</code> and <code>virtualenv</code> without the need for relying on the dependencies being already packaged in nixpkgs. | ||
{{ | |||
{{Note|Keep in mind that the virtualenv symlinks will be invalidated if you update your system!}} | |||
For a local working python environment you can use the following <code>shell.nix</code><ref>https://groups.google.com/forum/#!topic/nix-devel/3qPfwCAV3GE</ref>. | For a local working python environment you can use the following <code>shell.nix</code><ref>https://groups.google.com/forum/#!topic/nix-devel/3qPfwCAV3GE</ref>. | ||