Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从源代码构建tensorflow-1.8,没有名为numpy的模块_Python_Numpy_Tensorflow - Fatal编程技术网

Python 从源代码构建tensorflow-1.8,没有名为numpy的模块

Python 从源代码构建tensorflow-1.8,没有名为numpy的模块,python,numpy,tensorflow,Python,Numpy,Tensorflow,我正在从源代码处为NixOS构建Tensorflow,面临以下问题: 回溯(最近一次呼叫最后一次): 文件“/home/grwlf/tmp/out/execroot/org_tensorflow/bazel out/host/bin/tensorflow/tools/api/generator/create_python_api.runfiles/org_tensorflow/tensorflow/tools/api/generator/create_python_api.py”,中第26行

我正在从源代码处为NixOS构建Tensorflow,面临以下问题:


回溯(最近一次呼叫最后一次):
文件“/home/grwlf/tmp/out/execroot/org_tensorflow/bazel out/host/bin/tensorflow/tools/api/generator/create_python_api.runfiles/org_tensorflow/tensorflow/tools/api/generator/create_python_api.py”,中第26行
从tensorflow.python.util导入tf_装饰器
文件“/home/grwlf/tmp/out/execroot/org_tensorflow/bazel out/host/bin/tensorflow/tools/api/generator/create_python_api.runfiles/org_tensorflow/tensorflow/python/___init__.py”,第47行,in
将numpy作为np导入
ModuleNotFoundError:没有名为“numpy”的模块

此错误是执行以下bazel操作的结果:


(cd/home/grwlf/tmp/out/execroot/org_tensorflow&&\
行政环境\
LD_LIBRARY_PATH=/run/opengl-driver/lib:/run/opengl-driver-32/lib\
路径=\
PYTHON_BIN_PATH=/nix/store/zrbzl421n5lsm84b6drwn08i10wwjbvj-python3-3.6.5-env/BIN/PYTHON\
PYTHON_LIB_PATH=/nix/store/zrbzl421n5lsm84b6drwn08i10wwjbvj-python3-3.6.5-env/LIB/python3.6/site-packages\
TF_下载_叮当=0\
TF_NEED_CUDA=0\
TF\u需要\u OPENCL\u SYCL=0\
/nix/store/f2vw9r78fhaq15rcyvlzz2ayafd5n0z bash/bin/bash-c'
source external/bazel_tools/tools/genrule/genrule-setup.sh;
bazel out/host/bin/tensorflow/tools/api/generator/create_python_api
bazel out/k8-py3-opt/genfiles/tensorflow/tools/api/generator/api/__init__;u.py
<这里有很多TF python文件>'

(注意,PYTHON_BIN_PATH/PYTHON_LIB_PATH变量包含安装了numpy包的PYTHON 3.6环境的路径)


目前,我还不清楚numpy的预期来源。TF应该已经有了自己的numpy版本,还是必须提供它的构建环境?如果是这样的话,让bazel进行环境清理应该怎么做?

当您启动/nix/store/zrbzl421n5lsm84b6drwn08i10wwjbvj-python3-3.6.5时,您应该检查一下-env/bin/python 如果没有参数,可以使用import numpy:

Python 3.6.6 (default, Jun 27 2018, 05:47:41)
[GCC 7.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
通常,您会
nix shell
,以获得适当的构建环境

$ nix-shell -p python3Packages.numpy
these paths will be fetched (3.15 MiB download, 19.35 MiB unpacked):
  /nix/store/kv39m0n4sg8xar0kg1q4nnskgdr5jvl7-python2.7-numpy-1.14.5
copying path '/nix/store/kv39m0n4sg8xar0kg1q4nnskgdr5jvl7-python2.7-numpy-1.14.5' from 'https://cache.nixos.org'...
$ echo $PYTHONPATH | grep numpy
/nix/store/kv39m0n4sg8xar0kg1q4nnskgdr5jvl7-python2.7-numpy-1.14.5/lib/python2.7/site-packages:/nix/store/7sbvn0wgv7hsnxpss1jba723kx5nz6d4-python-2.7.15/lib/python2.7/site-packages:/nix/store/dlc0139ilc4md16hckh2vg9170dhp6li-python2.7-setuptools-40.0.0/lib/python2.7/site-packages:/nix/store/kv39m0n4sg8xar0kg1q4nnskgdr5jvl7-python2.7-numpy-1.14.5/lib/python2.7/site-packages:/nix/store/7sbvn0wgv7hsnxpss1jba723kx5nz6d4-python-2.7.15/lib/python2.7/site-packages:/nix/store/dlc0139ilc4md16hckh2vg9170dhp6li-python2.7-setuptools-40.0.0/lib/python2.7/site-packages
您还可以创建
default.nix
shell.nix
,作为nix shell的源代码,以保持此状态。我为所有项目执行此操作:

还可以导入nixpkgs用于构建tensorflow的构建环境:
NixShell'-python3Packages.tensorflow
。 在nixpkgs中,我们使用
setup.py
而不是bazel来构建tensorflow。

构建tensorflow的目标是使用pip安装numpy、wheel和keras_预处理。tensorflow取决于您的环境

pip安装-U——用户pip numpy wheel
pip安装-U——用户keras_预处理——无deps