PyCharm找不到图书馆

时间:2015-11-19 19:39:00

标签: python ubuntu pycharm

我正在使用PyCharm 5在Ubuntu中运行Python 2.7(Anaconda)脚本。我的脚本使用import tensorflow导入模块,但这会导致错误ImportError: libcudart.so.7.0: cannot open shared object file: No such file or directory。因此,该模块似乎需要库libcudart.so.7.0,但无法找到它。

现在,我已经看到这个库位于我/usr/local/cuda-7.0/targets/x86_64-linux/lib的机器上。所以,在PyCharm中,我去了Settings->Project Interpreters->Interpreter Paths。这有一个路径列表,例如/home/karnivaurus/Libraries/Anaconda/python2.7。然后我添加到此列表中,上面提到的包含所需库的路径。

然而,这并没有解决问题。我仍然收到错误,告诉我无法找到libcudart.so.7.0。如果我从shell运行我的脚本(python myfile.py),那么它运行正常。

如何告诉PyCharm在哪里找到这个库?

我注意到如果我的脚本中有print sys.path,那么它打印出的路径与Settings->Project Interpreters->Interpreter Paths中的路径完全不同......它们是否相同?

6 个答案:

答案 0 :(得分:30)

我最近刚使用远程调试器遇到了这个问题,但我相信它仍然是相同的解决方案。我刚刚将以下内容添加到Run>中的Run / Debug Configuration选项中的Environment Variables部分。编辑配置...对话框:LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

答案 1 :(得分:14)

你的cuda图书馆的路径对我来说似乎很奇怪。我希望它是/usr/local/cuda-7.0/lib64/usr/local/cuda-7.0/lib

您是否遵循了所有cuda installation程序?

如果您在命令行中输入env,您是否在LD_LIBRARY_PATH中看到了cuda的路径?

从以下评论中更新:

问题是PyCharm是从桌面调用的,并没有获得正确的环境变量。解决方案是:

  • 从命令行调用
  • 创建一个脚本来设置环境,然后调用,并在桌面上建立指向该脚本的链接,
  • 或在桌面项目上设置环境变量

答案 2 :(得分:6)

虽然其中一些答案是正确的,并且可以正常工作,但我还没有看到OP特别要求的内容,那就是为python控制台设置环境的地方。这可以在pycharm中完成:

档案>设置>构建,执行,部署>控制台> Python控制台

在那里的选项中,您将找到一个定义环境变量的地方。在那里设置LD_LIBRARY_PATH。 enter image description here

答案 3 :(得分:3)

编辑eof,在exec中指定环境变量,如下所示:

pycharm.desktop

因此[Desktop Entry] Version=1.0 Type=Application Name=Pycharm Exec=env LD_LIBRARY_PATH=:/usr/local/cuda/lib64:/usr/local/cuda/lib64 /home/cwh/software/pycharm-2016.1.4/bin/pycharm.sh Icon=/home/cwh/software/pycharm-2016.1.4/bin/pycharm.png Name[zh_CN]=Pycharm 会找到pycharm

答案 4 :(得分:2)

您是否在项目的设置中选择了正确的python解释器? 请参阅here

我遇到了类似的问题,更改解释器解决了这个问题,而无需创建新图标。

答案 5 :(得分:0)

以下内容适用于Community edition 2019.3

要为项目全局设置:

  • 打开File/Settings/Project/Project Interpreter
  • 单击口译员旁边的齿轮图标
  • 选择全部显示
  • 单击右下角带有树形图标的小文件夹
  • 将路径添加到“解释器路径”