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.
This commit is contained in:
parent
a5e98ed7cf
commit
0159151705
1 changed files with 7 additions and 6 deletions
|
@ -1034,7 +1034,10 @@ Create this `default.nix` file, together with a `requirements.txt` and simply ex
|
|||
|
||||
```nix
|
||||
with import <nixpkgs> {};
|
||||
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
|
||||
'';
|
||||
|
|
Loading…
Reference in a new issue