我使用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