我使用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 environment different than command line,似乎问题是以正常方式打开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表单终端。