mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-19 00:08:32 +01:00
tensorflow: fix python2 build
Avoid using PYTHONPATH, switch to python envs instead.
This commit is contained in:
parent
ea3bae4f4d
commit
e0795aa5e8
1 changed files with 24 additions and 32 deletions
|
@ -58,8 +58,23 @@ let
|
|||
variant = if cudaSupport then "-gpu" else "";
|
||||
pname = "tensorflow${variant}";
|
||||
|
||||
# TODO: remove after there's support for setupPyDistFlags
|
||||
setuppy = ../../../development/interpreters/python/run_setup.py;
|
||||
pythonEnv = python.withPackages (_:
|
||||
[ # python deps needed during wheel build time
|
||||
numpy
|
||||
keras-preprocessing
|
||||
protobuf
|
||||
wrapt
|
||||
gast
|
||||
astor
|
||||
absl-py
|
||||
termcolor
|
||||
keras-applications
|
||||
setuptools
|
||||
wheel
|
||||
] ++ lib.optionals (!isPy3k)
|
||||
[ future
|
||||
mock
|
||||
]);
|
||||
|
||||
bazel-build = buildBazelPackage rec {
|
||||
name = "${pname}-${version}";
|
||||
|
@ -96,27 +111,15 @@ let
|
|||
# https://gitweb.gentoo.org/repo/gentoo.git/tree/sci-libs/tensorflow
|
||||
|
||||
nativeBuildInputs = [
|
||||
swig which cython
|
||||
swig which pythonEnv
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
python
|
||||
jemalloc
|
||||
openmpi
|
||||
glibcLocales
|
||||
git
|
||||
|
||||
# python deps needed during wheel build time
|
||||
numpy
|
||||
keras-preprocessing
|
||||
protobuf
|
||||
wrapt
|
||||
gast
|
||||
astor
|
||||
absl-py
|
||||
termcolor
|
||||
keras-applications
|
||||
|
||||
# libs taken from system through the TF_SYS_LIBS mechanism
|
||||
# grpc
|
||||
sqlite
|
||||
|
@ -133,20 +136,12 @@ let
|
|||
giflib
|
||||
re2
|
||||
pkgs.lmdb
|
||||
|
||||
# for building the wheel
|
||||
setuptools
|
||||
wheel
|
||||
] ++ lib.optionals (!isPy3k) [
|
||||
future
|
||||
mock
|
||||
] ++ lib.optionals cudaSupport [
|
||||
cudatoolkit
|
||||
cudnn
|
||||
nvidia_x11
|
||||
];
|
||||
|
||||
|
||||
# arbitrarily set to the current latest bazel version, overly careful
|
||||
TF_IGNORE_MAX_BAZEL_VERSION = true;
|
||||
|
||||
|
@ -194,8 +189,8 @@ let
|
|||
|
||||
INCLUDEDIR = "${includes_joined}/include";
|
||||
|
||||
PYTHON_BIN_PATH = python.interpreter;
|
||||
|
||||
PYTHON_BIN_PATH = pythonEnv.interpreter;
|
||||
|
||||
TF_NEED_GCP = true;
|
||||
TF_NEED_HDFS = true;
|
||||
TF_ENABLE_XLA = tfFeature xlaSupport;
|
||||
|
@ -237,6 +232,9 @@ let
|
|||
export PYTHON_LIB_PATH="$NIX_BUILD_TOP/site-packages"
|
||||
export CC_OPT_FLAGS="${lib.concatStringsSep " " opt_flags}"
|
||||
mkdir -p "$PYTHON_LIB_PATH"
|
||||
|
||||
# To avoid mixing Python 2 and Python 3
|
||||
unset PYTHONPATH
|
||||
'';
|
||||
|
||||
configurePhase = ''
|
||||
|
@ -313,13 +311,7 @@ in buildPythonPackage rec {
|
|||
rm $out/bin/tensorboard
|
||||
'';
|
||||
|
||||
# TODO: remove after there's support for setupPyDistFlags
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
cp ${setuppy} nix_run_setup
|
||||
${python.interpreter} nix_run_setup --project_name ${pname} bdist_wheel
|
||||
runHook postBuild
|
||||
'';
|
||||
setupPyGlobalFlags = [ "--project_name ${pname}" ];
|
||||
|
||||
# tensorflow/tools/pip_package/setup.py
|
||||
propagatedBuildInputs = [
|
||||
|
|
Loading…
Reference in a new issue