pythonEnv = (let
python = let
packageOverrides = self: super: {
- matplotlib = super.matplotlib.overridePythonAttrs(old: rec {
- version = "3.0.2";
+ matplotlib = (super.matplotlib.override { enableTk = false; }).overridePythonAttrs(old: rec {
+ version = "3.3.4";
src = super.fetchPypi {
pname = "matplotlib";
inherit version;
- sha256 = "1brn3ism9755wibylb24yzs3b6ndg89iiclyhnvavxiiyhm7jjy9";
+ sha256 = "1c15g3rhnp4pn46akwzqqgrwvalhsy44zi3nd169x4i2djvpsiry";
};
+
+ # qhull library in nixpkgs in newer than expected by matplotlib 3.3.4 and has a different name
+ postPatch = old.postPatch + ''
+ substituteInPlace setupext.py --replace 'ext.libraries.append("qhull")' 'ext.libraries.append("qhull_r")'
+ '';
});
flask = super.flask.overridePythonAttrs(old: rec {
- version = "1.0.2";
+ version = "1.1.2";
src = super.fetchPypi {
pname = "Flask";
inherit version;
'';
});
flask-cors = super.flask-cors.overridePythonAttrs(old: rec {
- version = "3.0.7";
+ version = "3.0.9";
src = super.fetchPypi {
pname = "Flask-Cors";
inherit version;
};
});
jinja2 = super.jinja2.overridePythonAttrs(old: rec {
- version = "2.10.3";
+ version = "2.11.3";
src = old.src.override {
inherit version;
- sha256 = "1pi78nrpvr4ihdc540kbkj2yf55y43886rb52ylzmzkc50cmzscz";
+ sha256 = "1iiklf3wns67y5lfcacxma5vxfpb7h2a67xbghs01s0avqrq9md6";
};
});
'';
});
};
- in pkgs.python37.override {inherit packageOverrides; self = python;};
+ in pkgs.python39.override {inherit packageOverrides; self = python;};
in python.withPackages(ps: with ps; [
flake8 # For syntax checking while editing .py files