From 01591517053f759a2b5eccd43ecccea108aa0f06 Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Tue, 17 Dec 2019 15:26:06 +0100 Subject: [PATCH] manual: specify interpreter in virtualenv shell Without this virtualenv might try to setup an environment for a different version of python then the one specified in the expression. --- doc/languages-frameworks/python.section.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/doc/languages-frameworks/python.section.md b/doc/languages-frameworks/python.section.md index 1bedebd11902..9cb0e1eecc16 100644 --- a/doc/languages-frameworks/python.section.md +++ b/doc/languages-frameworks/python.section.md @@ -1034,7 +1034,10 @@ Create this `default.nix` file, together with a `requirements.txt` and simply ex ```nix with import {}; -with python27Packages; + +let + pythonPackages = python27Packages; +in stdenv.mkDerivation { name = "impurePythonEnv"; @@ -1044,9 +1047,8 @@ stdenv.mkDerivation { buildInputs = [ # these packages are required for virtualenv and pip to work: # - python27Full - python27Packages.virtualenv - python27Packages.pip + pythonPackages.virtualenv + pythonPackages.pip # the following packages are related to the dependencies of your python # project. # In this particular example the python modules listed in the @@ -1059,14 +1061,13 @@ stdenv.mkDerivation { libxml2 libxslt libzip - stdenv zlib ]; shellHook = '' # set SOURCE_DATE_EPOCH so that we can use python wheels SOURCE_DATE_EPOCH=$(date +%s) - virtualenv --no-setuptools venv + virtualenv --python=${pythonPackages.python.interpreter} --no-setuptools venv export PATH=$PWD/venv/bin:$PATH pip install -r requirements.txt '';