Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/353.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 PyCharm远程解释器和Tensorflow->;无法导入Cudart.so_Python_Tensorflow_Pycharm_Remote Debugging - Fatal编程技术网

Python PyCharm远程解释器和Tensorflow->;无法导入Cudart.so

Python PyCharm远程解释器和Tensorflow->;无法导入Cudart.so,python,tensorflow,pycharm,remote-debugging,Python,Tensorflow,Pycharm,Remote Debugging,我正在使用PyCharm进行远程调试,客户端是Win10,服务器是Ubuntu 16。在Ubuntu机器上,我已经正确安装了CUDA8.0,以及python 2.7和tensorflow 1.0.0。Tensorflow可以在服务器上完美地工作(ssh+调用python、导入Tensorflow等等) 在PyCharm中,我为服务器计算机设置了远程调试器,但现在导入tensorflow会导致错误: Traceback (most recent call last): File "/home/

我正在使用PyCharm进行远程调试,客户端是Win10,服务器是Ubuntu 16。在Ubuntu机器上,我已经正确安装了CUDA8.0,以及python 2.7和tensorflow 1.0.0。Tensorflow可以在服务器上完美地工作(ssh+调用python、导入Tensorflow等等)

在PyCharm中,我为服务器计算机设置了远程调试器,但现在导入tensorflow会导致错误:

Traceback (most recent call last):
  File "/home/*****/*****/********/*******.py", line 24, in <module>
    import tensorflow as tf
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/__init__.py", line 24, in <module>
    from tensorflow.python import *
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/__init__.py", line 60, in <module>
    raise ImportError(msg)
ImportError: Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/__init__.py", line 49, in <module>
    from tensorflow.python import pywrap_tensorflow
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/pywrap_tensorflow.py", line 28, in <module>
    _pywrap_tensorflow = swig_import_helper()
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/pywrap_tensorflow.py", line 24, in swig_import_helper
    _mod = imp.load_module('_pywrap_tensorflow', fp, pathname, description)
ImportError: libcudart.so.8.0: cannot open shared object file: No such file or directory


Error importing tensorflow.  Unless you are using bazel,
you should not try to import tensorflow from its source directory;
please exit the tensorflow source tree, and relaunch your python interpreter
from there.
回溯(最近一次呼叫最后一次):
文件“/home/*********/*********/*********/********.py”,第24行,在
导入tensorflow作为tf
文件“/usr/local/lib/python2.7/dist-packages/tensorflow/_-init__.py”,第24行,在
从tensorflow.python导入*
文件“/usr/local/lib/python2.7/dist packages/tensorflow/python/_init__.py”,第60行,在
提高效率(msg)
ImportError:回溯(最近一次呼叫上次):
文件“/usr/local/lib/python2.7/dist packages/tensorflow/python/_init__.py”,第49行,在
从tensorflow.python导入pywrap\u tensorflow
文件“/usr/local/lib/python2.7/dist packages/tensorflow/python/pywrap_tensorflow.py”,第28行,在
_pywrap\u tensorflow=swig\u import\u helper()
swig\u import\u helper中的文件“/usr/local/lib/python2.7/dist packages/tensorflow/python/pywrap\u tensorflow.py”,第24行
_mod=imp.load_模块(“pywrap_tensorflow”,fp,路径名,描述)
ImportError:libcudart.so.8.0:无法打开共享对象文件:没有此类文件或目录
导入tensorflow时出错。除非你用的是bazel,
您不应该尝试从其源目录导入tensorflow;
请退出tensorflow源代码树,并重新启动python解释器
从那里开始。
我试过:

向sys.path变量添加正确的路径

将LD_LIBRARY_PATH添加到os.environ和/或PyCharm环境变量

没有成功

我记得很久以前,我能够毫无问题地进行调试,但我不知道出了什么问题。有什么建议吗

更新1 重新启动后,错误更改为

ssh://****@192.168.***.***:22/usr/bin/python -u /home/*****/.pycharm_helpers/pydev/pydevd.py --multiproc --qt-support --client '0.0.0.0' --port 35523 --file /home/*/*/*/*/test.py
warning: Debugger speedups using cython not found. Run '"/usr/bin/python" "/home/*/.pycharm_helpers/pydev/setup_cython.py" build_ext --inplace' to build.
pydev debugger: process 1913 is connecting

Connected to pydev debugger (build 163.10154.50)
Traceback (most recent call last):
  File "/home/*/.pycharm_helpers/pydev/pydevd.py", line 1596, in <module>
    globals = debugger.run(setup['file'], None, None, is_module)
  File "/home/*/.pycharm_helpers/pydev/pydevd.py", line 974, in run
    pydev_imports.execfile(file, globals, locals)  # execute the script
  File "/home/*/*/*/*/test.py", line 1, in <module>
    import tensorflow
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/__init__.py", line 24, in <module>
    from tensorflow.python import *
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/__init__.py", line 72, in <module>
    raise ImportError(msg)
ImportError: Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/__init__.py", line 61, in <module>
    from tensorflow.python import pywrap_tensorflow
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/pywrap_tensorflow.py", line 28, in <module>
    _pywrap_tensorflow = swig_import_helper()
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/pywrap_tensorflow.py", line 24, in swig_import_helper
    _mod = imp.load_module('_pywrap_tensorflow', fp, pathname, description)
ImportError: libcudart.so.8.0: cannot open shared object file: No such file or directory


Failed to load the native TensorFlow runtime.

See https://github.com/tensorflow/tensorflow/blob/master/tensorflow/g3doc/get_started/os_setup.md#import_error

for some common reasons and solutions.  Include the entire stack trace
above this error message when asking for help.

Process finished with exit code 1
ssh://*****@192.168.**.**:22/usr/bin/python-u/home/*****/.pycharm\u helpers/pydev/pydev.py--multiproc--qt支持--client'0.0.0.0'--port 35523--file/home/*/*/*/*/*.test.py
警告:找不到使用cython的调试器加速。运行'/usr/bin/python'/home/*/.pycharm\u helpers/pydev/setup\u cython.py“build\u ext--inplace”进行构建。
pydev调试器:进程1913正在连接
已连接到pydev调试器(构建163.10154.50)
回溯(最近一次呼叫最后一次):
文件“/home/*/.pycharm\u helpers/pydev/pydevd.py”,第1596行,在
globals=debugger.run(setup['file'],None,None,is_模块)
文件“/home/*/.pycharm\u helpers/pydev/pydevd.py”,第974行,运行中
pydev_imports.execfile(文件、全局、局部)#执行脚本
文件“/home/*/*/*/*/test.py”,第1行,在
输入张量流
文件“/usr/local/lib/python2.7/dist-packages/tensorflow/_-init__.py”,第24行,在
从tensorflow.python导入*
文件“/usr/local/lib/python2.7/dist packages/tensorflow/python/_init__.py”,第72行,在
提高效率(msg)
ImportError:回溯(最近一次呼叫上次):
文件“/usr/local/lib/python2.7/dist packages/tensorflow/python/_init__.py”,第61行,在
从tensorflow.python导入pywrap\u tensorflow
文件“/usr/local/lib/python2.7/dist packages/tensorflow/python/pywrap_tensorflow.py”,第28行,在
_pywrap\u tensorflow=swig\u import\u helper()
swig\u import\u helper中的文件“/usr/local/lib/python2.7/dist packages/tensorflow/python/pywrap\u tensorflow.py”,第24行
_mod=imp.load_模块(“pywrap_tensorflow”,fp,路径名,描述)
ImportError:libcudart.so.8.0:无法打开共享对象文件:没有此类文件或目录
未能加载本机TensorFlow运行时。
看见https://github.com/tensorflow/tensorflow/blob/master/tensorflow/g3doc/get_started/os_setup.md#import_error
因为一些常见的原因和解决方案。包括整个堆栈跟踪
以上是请求帮助时的错误消息。
进程已完成,退出代码为1
更新2/已解决 正如我以前尝试过的,解决方案是在配置面板上添加环境变量的LD_LIBRARY_路径。我认为之前它在名称(->'LD\u LIBRARY\u PATH')后面的空白处不起作用。以下是解决方案:

您收到的错误消息是“请退出tensorflow源代码树,然后从那里重新启动python解释器。”

通常,如果您下载tensorflow源代码,手动编译它,然后安装它,然后启动python并导入tensorflow,同时仍在源文件夹中,就会收到此错误消息

您可以尝试停止此错误的操作: -检查tensorflow源是否在您运行远程应用程序的文件夹中(您是否遵循类似的方法使其工作?) -尝试查找并删除tensorflow源文件夹 -重新启动电脑(这将清除您可能正在运行中的/tmp文件夹)


希望这些事情中的一个能起作用,让我知道

解决方案是将正确的路径添加到Pycharm环境面板:

LD_LIBRARY_PATH='/usr/local/cuda/lib64'

或者适合您的配置。

远程nvidia docker机箱

我花了几个小时来解决类似的问题。实际上,我读了几遍stackoverflow,并毫不费力地添加了所有这些环境变量

因此,如果您有带有被Opposed ssh的远程nvidia docker,请阅读以下线程:

使用ssh连接时,nvidia docker无法正确启动终端


Pycharm实际上使用ssh连接进行远程调试,因此它也无法启动tensorflow gpu

我尝试了您的建议,请参见更新1。我从pip安装了tensorflow(SudoPip安装tensorflow gpu),我确保更新protobuf并删除任何先前安装的TF版本(cpu和gpu)。我的目录中没有源代码。还有别的想法吗?我想强调的是,如果我在服务器中使用SSH,那么就使用python和importten