Pycharm tensorflow ImportError 但与终端一起工作正常
Pycharm tensorflow ImportError but works fine with Terminal
我制作了一个安装了 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 的终端中也 运行s 没有错误,但每当我单击 运行 按钮时它只会给我上述错误。环境变量还会有问题吗?我该如何解决?
我读过另一个 Whosebug post:Pycharm environment different than command line,问题似乎在于以正常方式打开 PyCharm 不会保留 bash 环境。解决方案是从命令行打开 PyCharm,现在一切正常。您需要做的就是使用 charm
打开 PyCharm,现在一切正常。
不幸的是,在 pycharm 中,您必须在 IDE 中设置 CUDA_HOME
和 LD_LIBRARY_PATH
。为此,请转到 运行 菜单 -> 编辑配置,然后选择您的项目。然后单击环境变量并为 CUDA_HOME
和 LD_LIBRARY_PATH
添加一个条目。完成后,您可以直接从 pycharm 中 运行。我还建议将默认设置也设置为具有这些路径,这样您就不必为每个项目都这样做。此外,确保您在此设置页面上设置了 source [virtualenv_path]
中的解释器也无妨。如果您找不到执行此操作的位置,请告诉我。
我搜索了很多,但我没有在任何地方找到这个问题的正确解决方案。我和朋友们找到了解决办法,也想和大家分享一下。
如果您的 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 表单终端。
我制作了一个安装了 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 的终端中也 运行s 没有错误,但每当我单击 运行 按钮时它只会给我上述错误。环境变量还会有问题吗?我该如何解决?
我读过另一个 Whosebug post:Pycharm environment different than command line,问题似乎在于以正常方式打开 PyCharm 不会保留 bash 环境。解决方案是从命令行打开 PyCharm,现在一切正常。您需要做的就是使用 charm
打开 PyCharm,现在一切正常。
不幸的是,在 pycharm 中,您必须在 IDE 中设置 CUDA_HOME
和 LD_LIBRARY_PATH
。为此,请转到 运行 菜单 -> 编辑配置,然后选择您的项目。然后单击环境变量并为 CUDA_HOME
和 LD_LIBRARY_PATH
添加一个条目。完成后,您可以直接从 pycharm 中 运行。我还建议将默认设置也设置为具有这些路径,这样您就不必为每个项目都这样做。此外,确保您在此设置页面上设置了 source [virtualenv_path]
中的解释器也无妨。如果您找不到执行此操作的位置,请告诉我。
我搜索了很多,但我没有在任何地方找到这个问题的正确解决方案。我和朋友们找到了解决办法,也想和大家分享一下。
如果您的 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 表单终端。