我在安装了TensorFlow的情况下制作了一个Virtualenv,然后将Python解释器设置为Virtualenv所在的位置。当我运行程序时,它会出现错误:
ImportError: libcudnn.so.5: cannot open shared object file: No such file or directory
我在.bashrc文件中写下以下行
export CUDA_HOME=/usr/local/cuda-8.0
export LD_LIBRARY_PATH=${CUDA_HOME}/lib64:$LD_LIBRARY_PATH
export PATH=${CUDA_HOME}/bin:${PATH}
另外,我在以下路径中找到了libcudnn.so.5文件:
/usr/local/cuda-8.0/lib64
我在打开Pycharm之前遇到了此错误,并且确实设法安装了正确的Cudnn版本。问题是,我可以使用
$ source [virtualenv_path]
活跃Virtualenv并在终端运行Python,一切正常,没有显示错误。该程序在Pycharm的终端中也没有错误运行,但是只要我单击运行按钮,它就会给我上述错误。环境变量仍然有问题吗?我该如何修复?
不幸的是,在pycharm中,您必须在IDE内部设置CUDA_HOME
和LD_LIBRARY_PATH
。为此,请转到运行菜单 ->编辑配置,然后选择您的项目。然后,您单击环境变量,并为CUDA_HOME
和LD_LIBRARY_PATH
添加条目。完成此操作后,您可以直接从Pycharm内部运行。我还建议将默认设置设置为也有这些路径,因此您不必为每个项目执行此操作。此外,确保在此设置页面上的source [virtualenv_path]
设置中的解释器也不会受到伤害。让我知道您是否在找不到它的地方很难。
我已经阅读了其他stackoverflow帖子:与命令行不同的pycharm环境,似乎问题在于,以正常方式打开Pycharm并不能保留BASH环境。解决方案是从命令行打开pycharm,现在一切正常。您需要做的就是使用charm
打开Pycharm,现在一切正常。
我已经搜索了很多,但是我在任何地方都找不到适合此问题的解决方案。我与朋友找到了解决方案,也想与您分享。
如果您的TensorFlow在终端中正常工作,但在Pycharm中不起作用,则有两个解决方案:
1-从终端打开pycharm。对我:
pycharm-community
2-如果您使用的是Unity,则需要编辑.profile
,因为Pycharm不保留.bashrc
:因此,打开终端和类型:
gedit .profile
然后,在打开的文件的末尾添加以下代码:
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
保存并退出。现在,您可以在Pycharm中使用TensorFlow,而无需打开Pycharm表单端子。