来自带有sudo命令的服务器的Tensorflow不起作用

问题描述 投票:0回答:1

我正在本地PC上使用带有PyCharm的服务器(SSH)进行远程开发。我使用sudo权限从本地PC安装了tensorflow(pip)。当我在终端(MobaXterm)中运行tensorflow代码时]

python projects/example.py

代码可以工作,但是由于权限的原因不能将结果数据保存在服务器中,但是当我使用sudo运行相同的代码来解决权限错误时。

sudo python projects/example.py

我收到了tensorflow导入错误。

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

此外,我在PyCharm中设置了远程开发环境,并使用PyCharm遇到了相同的错误。 PyCharm总是以sudo特权从服务器执行代码。这个问题仅与tensorflow代码有关。其他代码(PyTorch,Caffe等)可以在终端或PyCharm中与sudo一起正常工作。

请向我建议一些有价值的解决方案,>

  • 关于上述声明如何使用sudo特权运行tensorflow代码?
  • 有没有办法在Python中定义一些代码,这些代码可以在没有sudo特权的情况下将结果数据保存在服务器中?
  • 附加问题:在远程开发中,如何在没有sudo特权的情况下在PyCharm中运行服务器代码?
  • 我搜索了有关此问题的解决方案,但找不到任何解决方案。

我正在本地PC上使用带有PyCharm的服务器(SSH)进行远程开发。我使用sudo权限从本地PC安装了tensorflow(pip)。当我在终端(MobaXterm)中运行tensorflow代码时python ...

python tensorflow pycharm sudo mobaxterm
1个回答
0
投票

我怀疑这是因为root具有与普通用户不同的环境和环境变量。

要么使用sudo选项执行-E命令来保存环境,要么在sudo命令中调用python之前设置LD_LIBRARY_PATH如下:

© www.soinside.com 2019 - 2024. All rights reserved.