PyCharm无法find库

我使用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 。 这有一个path列表,如/ /home/karnivaurus/Libraries/Anaconda/python2.7 。 然后,我添加到这个列表,上面提到的path包含所需的库。

但是,这并没有解决问题。 我仍然得到一个错误,告诉我libcudart.so.7.0无法find。 如果我从shell运行我的脚本( python myfile.py ),那么它运行良好。

我怎么能告诉PyCharm在哪里find这个库?


我注意到,如果我在脚本中print sys.path ,打印出的path完全不同于Settings->Project Interpreters->Interpreter Paths …应该是相同的吗?

你的cuda库的路径对我来说似乎很陌生。 我期望它是/usr/local/cuda-7.0/lib64/usr/local/cuda-7.0/lib

你是否遵循所有的cuda安装程序?

如果你在命令行输入env ,你在LD_LIBRARY_PATH看到cuda的路径吗?


从下面的评论更新:

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

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

我刚刚遇到了这个问题,最近使用远程调试器,但我相信它仍然是同样的解决方案。 我刚刚在运行>编辑配置…对话框中的运行/调试配置选项中的环境变量部分添加了以下内容: LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

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

文件>设置>构建,执行,部署>控制台> Python控制台

在那里的选项,你会找到一个地方来定义环境变量。 在那里设置LD_LIBRARY_PATH。 在这里输入图像说明

你有没有在你的项目设置中选择正确的Python解释器? 看到这里 。

我有一个类似的问题,改变解释器解决它,而不必创建一个新的图标。

编辑你的pycharm.desktop ,在exec中指定环境变量,如下所示:

 [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会发现cuda