【问题标题】:Pycharm tensorflow ImportError but works fine with TerminalPycharm tensorflow ImportError,但可以在终端上正常工作
【发布时间】:2023-03-10 16:15:01
【问题描述】:

我制作了一个安装了 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


    【解决方案1】:

    不幸的是,在 pycharm 中,您必须在 IDE 中设置 CUDA_HOMELD_LIBRARY_PATH。为此,请转到“运行”菜单->“编辑配置”,然后选择您的项目。然后单击环境变量并为CUDA_HOMELD_LIBRARY_PATH 添加一个条目。完成后,您可以直接从 pycharm 内部运行。我还建议将默认设置也设置为具有这些路径,因此您不必为每个项目都这样做。当您在此设置页面上时,确保您设置了来自source [virtualenv_path] 的解释器也不会有什么坏处。如果您找不到在哪里执行此操作,请告诉我。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

        我进行了很多搜索,但在任何地方都没有找到适合该问题的解决方案。我和我的朋友找到了解决方案,我也想和你分享。

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

        【讨论】:

          猜你喜欢
          • 2020-04-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-05-07
          • 2015-09-29
          • 1970-01-01
          • 2022-06-29
          • 2022-06-13
          相关资源
          最近更新 更多