【发布时间】:2019-01-01 16:35:42
【问题描述】:
我收到了
“ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory”
当我用“sudo python3.6 ...”调用我的应用程序时出错,但当我只调用“python3.6 ...”时不会出错
elastic beanstalk 使用“sudo”,因此删除命令不是一种选择。
仅安装了 CUDA 9.0(这是我们环境的正确版本),并且 /usr/local/cuda/lib64/libcublas.so.9.0 存在。
我们使用相同的配置和相同的 AMI ID 创建了一个单独的 ec2 实例:CUDA9ClassicAmazonLinuxDLAMIwithMXNetTensorflowandCaffe2,并且没有任何问题。这似乎是只有弹性豆茎才会出现的问题。
$LD_LIBRARY_PATH = '/usr/local/cuda/lib64:/usr/local/lib:/usr/lib:/usr/local/cuda/extras/CUPTI/lib64:/usr/local/mpi/lib: /lib/:/home/ubuntu/src/caffe2/build:/home/ec2-user/src/caffe2/build:/usr/local/cuda/lib64:/usr/local/lib:/usr/lib:/ usr/local/cuda/extras/CUPTI/lib64:/usr/local/mpi/lib:/usr/local/cuda/lib64:/usr/local/lib:/usr/lib:/usr/local/cuda/extras /CUPTI/lib64:/usr/local/mpi/lib:/lib/:/home/ubuntu/src/caffe2/build:/home/ec2-user/src/caffe2/build:/usr/local/cuda/lib64 :/usr/local/lib:/usr/lib:/usr/local/cuda/extras/CUPTI/lib64:/usr/local/mpi/lib:'
$PATH = '/usr/local/cuda/bin:/usr/local/bin:/opt/aws/bin:/usr/local/mpi/bin:/home/ubuntu/src/caffe2/build: /home/ec2-user/src/caffe2/build:/usr/local/cuda/bin:/usr/local/bin:/opt/aws/bin:/usr/local/mpi/bin:/usr/local/ cuda/bin:/usr/local/bin:/opt/aws/bin:/usr/local/mpi/bin:/home/ubuntu/src/caffe2/build:/home/ec2-user/src/caffe2/build :/usr/local/cuda/bin:/usr/local/bin:/opt/aws/bin:/usr/local/mpi/bin:/usr/local/bin:/bin:/usr/bin:/usr /local/sbin:/usr/sbin:/sbin:/opt/aws/bin:/home/ec2-user/.local/bin:/home/ec2-user/bin'
有什么想法吗?
【问题讨论】:
-
这可能是环境问题。
sudo环境可能无法获取您的LD_LIBRARY_PATH变量。作为诊断,您可以尝试:sudo -E python3.6 ...,参见here -
sudo -E python3.6 ... 也给出了 libcublas.so.9.0 错误,我们也在 python 代码中设置了 os.environ['LD_LIBRARY_PATH'] ,我们将如何设置LD_LIBRARY_PATH 所以 sudo 可以看到吗?
-
更多诊断:1. 只是为了确认,
echo $LD_LIBRARY_PATH的输出是什么,2.sudo -E bash -c 'echo $LD_LIBRARY_PATH'的输出是什么(如果您愿意,您可以使用回复编辑您的问题) -
我不知道您是不是在暗示这一点,但
os.environ['LD_LIBRARY_PATH']本身是不够的。您需要执行类似os.environ['LD_LIBRARY_PATH']='/path/to/cudatoolkit/lib64'的操作,但可能这就是您的意思。 (如果您在任何导入之前做了类似的事情,我会认为这也可以解决问题。) -
是的,我们正在设置 "os.environ['LD_LIBRARY_PATH'] = $path/to/libcublas.so.9.0" 如上所示
标签: python linux amazon-web-services tensorflow