Python 无法在Jupyter笔记本中导入tensorflow

Python 无法在Jupyter笔记本中导入tensorflow,python,tensorflow,amazon-ec2,jupyter-notebook,Python,Tensorflow,Amazon Ec2,Jupyter Notebook,我正在运行Ubuntu 16.04.3 LTS亚马逊深度学习AMI。我正在使用内置的tensorflow_p36(python 3.6)虚拟环境 我尝试按照命令检查安装是否正常工作。从他那里得到了暗示 当我使用python在终端中导入tensorflow时,它工作正常,但当我在Jupyter笔记本中导入它时,我得到以下错误: --------------------------------------------------------------------------- ImportErro

我正在运行Ubuntu 16.04.3 LTS亚马逊深度学习AMI。我正在使用内置的tensorflow_p36(python 3.6)虚拟环境

我尝试按照命令检查安装是否正常工作。从他那里得到了暗示

当我使用python在终端中导入tensorflow时,它工作正常,但当我在Jupyter笔记本中导入它时,我得到以下错误:

---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
~/anaconda3/envs/tensorflow_p36/lib/python3.6/site-packages/tensorflow/python/pywrap_tensorflow.py in <module>()
     57 
---> 58   from tensorflow.python.pywrap_tensorflow_internal import *
     59   from tensorflow.python.pywrap_tensorflow_internal import __version__

~/anaconda3/envs/tensorflow_p36/lib/python3.6/site-packages/tensorflow/python/pywrap_tensorflow_internal.py in <module>()
     27             return _mod
---> 28     _pywrap_tensorflow_internal = swig_import_helper()
     29     del swig_import_helper

~/anaconda3/envs/tensorflow_p36/lib/python3.6/site-packages/tensorflow/python/pywrap_tensorflow_internal.py in swig_import_helper()
     23             try:
---> 24                 _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
     25             finally:

~/anaconda3/envs/tensorflow_p36/lib/python3.6/imp.py in load_module(name, file, filename, details)
    242         else:
--> 243             return load_dynamic(name, filename, file)
    244     elif type_ == PKG_DIRECTORY:

~/anaconda3/envs/tensorflow_p36/lib/python3.6/imp.py in load_dynamic(name, path, file)
    342             name=name, loader=loader, origin=path)
--> 343         return _load(spec)
    344 

ImportError: libcublas.so.8.0: cannot open shared object file: No such file or directory

During handling of the above exception, another exception occurred:

ImportError                               Traceback (most recent call last)
<ipython-input-2-d6579f534729> in <module>()
----> 1 import tensorflow

~/anaconda3/envs/tensorflow_p36/lib/python3.6/site-packages/tensorflow/__init__.py in <module>()
     22 
     23 # pylint: disable=wildcard-import
---> 24 from tensorflow.python import *
     25 # pylint: enable=wildcard-import
     26 

~/anaconda3/envs/tensorflow_p36/lib/python3.6/site-packages/tensorflow/python/__init__.py in <module>()
     47 import numpy as np
     48 
---> 49 from tensorflow.python import pywrap_tensorflow
     50 
     51 # Protocol buffers

~/anaconda3/envs/tensorflow_p36/lib/python3.6/site-packages/tensorflow/python/pywrap_tensorflow.py in <module>()
     70 for some common reasons and solutions.  Include the entire stack trace
     71 above this error message when asking for help.""" % traceback.format_exc()
---> 72   raise ImportError(msg)
     73 
     74 # pylint: enable=wildcard-import,g-import-not-at-top,unused-import,line-too-long

ImportError: Traceback (most recent call last):
  File "/home/ubuntu/anaconda3/envs/tensorflow_p36/lib/python3.6/site-packages/tensorflow/python/pywrap_tensorflow.py", line 58, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "/home/ubuntu/anaconda3/envs/tensorflow_p36/lib/python3.6/site-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 28, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "/home/ubuntu/anaconda3/envs/tensorflow_p36/lib/python3.6/site-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 24, in swig_import_helper
    _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
  File "/home/ubuntu/anaconda3/envs/tensorflow_p36/lib/python3.6/imp.py", line 243, in load_module
    return load_dynamic(name, filename, file)
  File "/home/ubuntu/anaconda3/envs/tensorflow_p36/lib/python3.6/imp.py", line 343, in load_dynamic
    return _load(spec)
ImportError: libcublas.so.8.0: cannot open shared object file: No such file or directory


Failed to load the native TensorFlow runtime.

See https://www.tensorflow.org/install/install_sources#common_installation_problems

for some common reasons and solutions.  Include the entire stack trace
above this error message when asking for help.
---------------------------------------------------------------------------
ImportError回溯(最近一次呼叫最后一次)
~/anaconda3/envs/tensorflow_p36/lib/python3.6/site-packages/tensorflow/python/pywrap_tensorflow.py in()
57
--->58来自tensorflow.python.pywrap\u tensorflow\u内部导入*
59来自tensorflow.python.pywrap\u tensorflow\u内部导入\u版本__
~/anaconda3/envs/tensorflow\u p36/lib/python3.6/site-packages/tensorflow/python/pywrap\u tensorflow\u internal.py in()
27返回模式
--->28_pywrap_tensorflow_internal=swig_import_helper()
29 del swig_导入帮助程序
swig\u import\u helper()中的~/anaconda3/envs/tensorflow\u p36/lib/python3.6/site-packages/tensorflow/python/pywrap\u tensorflow\u internal.py
23尝试:
--->24_mod=imp.load_模块(“pywrap_tensorflow_internal”,fp,路径名,描述)
25最后:
加载模块中的~/anaconda3/envs/tensorflow_p36/lib/python3.6/imp.py(名称、文件、文件名、详细信息)
242其他:
-->243返回加载动态(名称、文件名、文件)
244 elif类型=PKG\u目录:
动态加载中的~/anaconda3/envs/tensorflow_p36/lib/python3.6/imp.py(名称、路径、文件)
342名称=名称,加载器=加载器,原点=路径)
-->343返回荷载(规范)
344
ImportError:libcublas.so.8.0:无法打开共享对象文件:没有此类文件或目录
在处理上述异常期间,发生了另一个异常:
ImportError回溯(最近一次呼叫最后一次)
在()
---->1输入张量流
~/anaconda3/envs/tensorflow\u p36/lib/python3.6/site packages/tensorflow/\uuuuu init\uuuuuuuuuu.py in()
22
23#pylint:disable=通配符导入
--->24从tensorflow.python导入*
25#pylint:enable=通配符导入
26
~/anaconda3/envs/tensorflow\u p36/lib/python3.6/site packages/tensorflow/python/\u init\u.py in()
47作为np的进口numpy
48
--->49从tensorflow.python导入pywrap\u tensorflow
50
51#协议缓冲区
~/anaconda3/envs/tensorflow_p36/lib/python3.6/site-packages/tensorflow/python/pywrap_tensorflow.py in()
70因为一些常见的原因和解决方案。包括整个堆栈跟踪
71在请求帮助时显示此错误消息。“%traceback.format_exc()
--->72.1.1.2(味精)
73
74#pylint:enable=通配符导入,g-import-not-at-top,未使用的导入,行太长
ImportError:回溯(最近一次呼叫上次):
文件“/home/ubuntu/anaconda3/envs/tensorflow_p36/lib/python3.6/site packages/tensorflow/python/pywrap_tensorflow.py”,第58行
从tensorflow.python.pywrap\u tensorflow\u内部导入*
文件“/home/ubuntu/anaconda3/envs/tensorflow_p36/lib/python3.6/site packages/tensorflow/python/pywrap_tensorflow_internal.py”,第28行
_pywrap\u tensorflow\u internal=swig\u import\u helper()
文件“/home/ubuntu/anaconda3/envs/tensorflow_p36/lib/python3.6/site packages/tensorflow/python/pywrap_tensorflow_internal.py”,第24行,在swig\u import\u helper中
_mod=imp.load_模块(“pywrap_tensorflow_internal”,fp,路径名,描述)
文件“/home/ubuntu/anaconda3/envs/tensorflow_p36/lib/python3.6/imp.py”,第243行,在加载模块中
返回加载动态(名称、文件名、文件)
文件“/home/ubuntu/anaconda3/envs/tensorflow_p36/lib/python3.6/imp.py”,第343行,在load_dynamic中
返回负载(规格)
ImportError:libcublas.so.8.0:无法打开共享对象文件:没有此类文件或目录
未能加载本机TensorFlow运行时。
看见https://www.tensorflow.org/install/install_sources#common_installation_problems
由于一些常见的原因和解决方案。包括整个堆栈跟踪
以上是请求帮助时的错误消息。

有人能帮我解决这个错误吗?

我在Jupyter笔记本上运行启用GPU的Tensorflow时遇到了同样的问题。我必须解决两件事,也许它们也能帮到你

Jupyter内核

确保您的jupyter内核与您希望运行的venv/python环境相同

$ jupyter kernelspec list
如果不是(我的指向.local/share/jupyter/kernels/),那么有两种方法可以修复它

1) 您可以编辑kernel.json文件以指向所需的python:

$ vim jupyter/kernels/python2/kernel.json
2) 您可以通过运行以下命令从venv中删除默认内核:

$ jupyter kernelspec remove python2
这将默认为在venv上使用所需的python

Tensorflow设置错误

pywrap导入错误是一个错误。因为我不想干扰我的安装(因为它在python CLI上运行良好,只是在Jupyter上没有),唯一对我有效的建议是:

$ export PBR_VERSION=<your pbr version number>
$export PBR\u版本=
这似乎是mock的setup.cfg的一个问题,可能会在以后的版本中解决

最后,确保tensorflow gpu已添加到系统路径中

祝你好运

$ export PBR_VERSION=<your pbr version number>