python docs: add an example for a virtualenv and pip through nix-shell
This commit is contained in:
parent
45a677b978
commit
aa9a9dd1b4
|
@ -804,6 +804,43 @@ If you want to create a Python environment for development, then the recommended
|
||||||
method is to use `nix-shell`, either with or without the `python.buildEnv`
|
method is to use `nix-shell`, either with or without the `python.buildEnv`
|
||||||
function.
|
function.
|
||||||
|
|
||||||
|
### How to consume python modules using pip in a virtualenv like I am used to on other Operating Systems ?
|
||||||
|
|
||||||
|
This is an example of a `default.nix` for a `nix-shell`, which allows to consume a `virtualenv` environment,
|
||||||
|
and install python modules through `pip` the traditional way.
|
||||||
|
|
||||||
|
Create this `default.nix` file, together with a `requirements.txt` and simply execute `nix-shell`.
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
th import <nixpkgs> {};
|
||||||
|
with pkgs.python27Packages;
|
||||||
|
|
||||||
|
buildPythonPackage {
|
||||||
|
name = "impurePythonEnv";
|
||||||
|
buildInputs = [
|
||||||
|
taglib
|
||||||
|
openssl
|
||||||
|
git
|
||||||
|
libxml2
|
||||||
|
libxslt
|
||||||
|
libzip
|
||||||
|
python27Full
|
||||||
|
python27Packages.virtualenv
|
||||||
|
python27Packages.pip
|
||||||
|
stdenv
|
||||||
|
zlib ];
|
||||||
|
src = null;
|
||||||
|
# When used as `nix-shell --pure`
|
||||||
|
shellHook = ''
|
||||||
|
unset http_proxy
|
||||||
|
export GIT_SSL_CAINFO=/etc/ssl/certs/ca-bundle.crt
|
||||||
|
virtualenv --no-wheel --no-setuptools venv
|
||||||
|
export PATH=$PWD/venv/bin:$PATH
|
||||||
|
pip install -r requirements.txt --no-use-wheel
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
## Contributing
|
## Contributing
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue