Pycharm tensorflow ImportError但可以正常使用Terminal

问题描述 投票:8回答:3

我使用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的终端中运行没有错误,但只要我点击运行按钮就会给我上面的错误。环境变量还有问题吗?我如何解决它?

linux tensorflow pycharm python-import
3个回答
7
投票

不幸的是,在pycharm中你必须在IDE中设置CUDA_HOMELD_LIBRARY_PATH。为此,请转到“运行”菜单 - >“编辑配置”,然后选择项目。然后单击环境变量并为CUDA_HOMELD_LIBRARY_PATH添加一个条目。完成后,您可以直接从pycharm内部运行。我还建议设置默认值以包含这些路径,因此您不必为每个项目执行此操作。另外,当你在这个设置页面上时,确保你有source [virtualenv_path]设置的翻译也没有什么坏处。如果您无法找到执行此操作的位置,请与我们联系。


4
投票

我已经阅读了其他Stackoverflow帖子:Pycharm environment different than command line,似乎问题是以正常方式打开PyCharm将不会保留bash环境。解决方案是从命令行打开PyCharm,现在一切正常。你需要做的就是使用charm打开PyCharm,现在一切正常。


2
投票

我搜索了很多,但我没有找到适合这个问题的解决方案。我和我的朋友找到了解决方案,我也想和你分享。

如果您的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表单终端。

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