使用 sudo 命令的服务器的 Tensorflow 不起作用
Tensorflow from server with sudo command not working
我在本地 PC 上使用服务器 (SSH) PyCharm 进行远程开发。
我使用 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 一起正常工作
请给我一些有价值的解决方案
- 如何运行 tensorflow 代码与上述声明的 sudo 权限?
- 有什么方法可以在 Python 中定义一些代码,无需 sudo 权限即可将结果数据保存在服务器中?
- 附加问题:在远程开发中,我们如何在没有 sudo 权限的情况下 运行 PyCharm 中的服务器代码?
我搜索了有关此问题的解决方案,但找不到任何解决方案。
我怀疑这是因为 root 的环境和环境变量与普通用户不同。
要么执行带有 -E
选项的 sudo
命令以保护您的环境,要么在您的 sudo 命令中调用 python 之前设置 LD_LIBRARY_PATH
,如下所示:
sudo LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-9.0/lib64/ python projects/example.py
如.
我在本地 PC 上使用服务器 (SSH) PyCharm 进行远程开发。 我使用 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 一起正常工作请给我一些有价值的解决方案
- 如何运行 tensorflow 代码与上述声明的 sudo 权限?
- 有什么方法可以在 Python 中定义一些代码,无需 sudo 权限即可将结果数据保存在服务器中?
- 附加问题:在远程开发中,我们如何在没有 sudo 权限的情况下 运行 PyCharm 中的服务器代码?
我搜索了有关此问题的解决方案,但找不到任何解决方案。
我怀疑这是因为 root 的环境和环境变量与普通用户不同。
要么执行带有 -E
选项的 sudo
命令以保护您的环境,要么在您的 sudo 命令中调用 python 之前设置 LD_LIBRARY_PATH
,如下所示:
sudo LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-9.0/lib64/ python projects/example.py
如