Pycharm使用远程服务器内环境报错:version `GLIBCXX_3.4.29‘ not found,但服务器终端命令行可以正常运行程序
创始人
2024-12-21 19:34:36
0

1. 前言

报错信息:ImportError: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29' not found

是scipy的函数抛出来的

这个报错贯穿了我一整年的时间,因为package的版本不能降,去年找了很多方法都无法解决,不过既然服务器可以直接跑,就搁置了。但这次必须用到debug功能,不得不想办法彻底解决掉这个问题。

2. 解决过程

服务器是课题组的,我没有sudo权限,有的话更新一下系统lib目录下的gcc版本可能也就解决了,但现在只能去找别的方法。

观察报错发现很奇怪的一点,pycharm搜索的lib目录不是虚拟环境里的,而是系统里面的。我去自己的虚拟环境里搜索了一下发现是有这个29版本的,那现在的问题就变成了为什么pycharm不去读取虚拟环境中的lib里的运行库文件反而去读系统目录下面的,很明显大概率是环境变量的问题。但是一开始服务器的terminal运行程序也是会报这个错的,所以我在服务器里已经把虚拟环境的lib作为环境变量添加到了.bashrc文件里面,后面在terminal已经不会报错了,为什么修改环境变量对pycharm不起效呢?

后面改了一下搜索关键词,集中到pycharm内添加环境变量,找到了解决办法,具体可以参考这篇博客:pycharm远程连接服务器后添加多个LD_LIBRARY_PATH_pycharm运行时配置动态链接库路径-CSDN博客

简单来讲原因就是pycharm运行程序的时候根本不会加载.bashrc文件,这个文件应该只会在使用terminal登录服务器系统的时候才会初始化运行,所以在服务器添加的环境变量并不会起效,必须在pycharm里再添加才行。添加要在对应程序的configuration里修改,具体如下(适用于2023.2.3专业版):

(1)首先选择Edit Configurations

或者更简单的,从这里直接生成,这样可以直接忽略下面(2)和(3)里添加script和working directory的过程:

(2)打开后左上角加号新建一个配置,选python文件

(3)之后弹出这个界面,你可以修改一下这个运行配置的名字。

script是你要运行的.py文件的位置,script下面的一行是用来加给程序传入的参数的,服务器terminal里写的--x xx这种全复制过来就行

working directory是文件所在的目录

另外运行环境看一下是不是服务器上那个

然后就是重量级的环境变量了,lib目录就要添加在这里

添加页面就这样:

LD_LIBRARY_PATH

$LD_LIBRARY_PATH:/home/xxx(你自己的账号名)/anaconda3/envs/xxx(你自己的虚拟环境名)/lib

添加完之后就能正常运行了

后续的小插曲:用pycharm的debug功能检查完程序之后,就想用linux的nohup命令让程序挂在后台不断掉,这样就又需要回到terminal命令行运行程序。但此时再在服务器运行的话,一旦模型传到gpu之后开始运算系统就会报错:总线错误(核心已转储)。我一开始以为是显存不够才报错(之前疑似有过),但后面测试发现显存非常充足的情况下还是会在运行到相同位置时报错,而此时pycharm却可以正常运行程序(什么倒反天罡啊,笑死我了)。去搜了一下这个报错,信息非常少,但有些提到了可能是运行环境或者cuda版本不兼容之类的,也就是说和虚拟环境可能还是有关系。有了上面的经验之后我就先怀疑到了.bashrc文件上,而且回忆了一下问题的时间点好像就是我为了debug于是在服务器端尝试再次对.bashrc文件动手后才出现的,显得它更可疑了。后面检查了一下文件,真的发现了问题:

在文件末尾的conda初始化配置这里,判断语句中间赫然冒出来一个意义不明的“i”

估计是进insert模式输入的时候误写进去的,因为也没有标红之类的提示,一开始改文件的时候就没发现这里有问题,它的异常标注也就只是本应的黄色变成白色,也忒不明显了吧喂!

删掉了罪魁祸首,bug成功解决了。真是败是因为不加载.bashrc,成也是因为不加载.bashrc(乐)

相关内容

热门资讯

创建金花房间链接教程/玩链接牛... 牛牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:86909166许多玩家在游戏中会购买房卡来享受...
科普!微信金花链接从哪里买房卡... 微信游戏中心:牛牛房卡,添加微信【55051770】,进入游戏中心或相关小程序,搜索“微信牛牛房卡”...
终于发现!微信拼三张购买房卡方... 微信游戏中心:拼三张房卡,添加微信【56001354】,进入游戏中心或相关小程序,搜索“微信拼三张房...
终于知道”圣游怎么买房卡“新老... 第二也可以在游戏内商城:在游戏界面中找到 “微信金花,斗牛链接房卡”“商城”选项,选择房卡的购买选项...
微信金花链接房卡购买/金花链接... 金花是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:160470940许多玩家在游戏中会购买房卡来享...
科普!微信九人金花房卡怎么买,... 微信游戏中心:拼三张房卡,添加微信【33903369】,进入游戏中心或相关小程序,搜索“微信拼三张房...
终于发现!微信炸金花购买房卡,... 微信游戏中心:炸金花房卡,添加微信【66336574】,进入游戏中心或相关小程序,搜索“微信炸金花房...
终于知道”蛮王大厅房卡充值“牛... 来教大家如何使用房卡充值房卡充值 添加房卡批售商:微【113857775】复制到微信搜索、直接添加房...
科普!微信金花房卡购买全攻略,... 微信游戏中心:牌九房卡,添加微信【8488009】,进入游戏中心或相关小程序,搜索“微信牌九房卡”,...
给大家讲解“微信上玩炸金花冲房... 新518互游是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:86909166许多玩家在游戏中会购买房...
安卓系统不能玩nba吗 你有没有想过,为什么你的安卓手机上不能玩NBA游戏呢?是不是觉得这事儿有点奇怪,毕竟安卓系统那么强大...
终于发现!斗牛链接房卡怎么搞,... 微信游戏中心:斗牛房卡,添加微信【71319951】,进入游戏中心或相关小程序,搜索“微信斗牛房卡”...
终于知道”江山房卡购买“拼三张... 终于知道”江山房卡购买“拼三张房卡充值游戏中心打开微信,添加客服【113857776】,进入游戏中心...
科普!微信玩炸金花在哪购买房卡... 微信游戏中心:炸金花房卡,添加微信【55051770】,进入游戏中心或相关小程序,搜索“微信炸金花房...
一分钟推荐“金花链接如何创建房... 神皇大厅是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:160470940许多玩家在游戏中会购买房卡...
终于知道”新九神房卡获取方式“... 终于知道”新九神房卡获取方式“哪里买低价房卡!微信房卡充值 添加房卡批售商:微【113857776】...
终于发现!正版玩牛牛购买房卡,... 微信游戏中心:牛牛房卡,添加微信【56001354】,进入游戏中心或相关小程序,搜索“微信牛牛房卡”...
科普!微信在哪开炸金花房间房卡... 微信游戏中心:炸金花房卡,添加微信【33903369】,进入游戏中心或相关小程序,搜索“微信炸金花房...
终于知道”新众亿房卡详细充值“... 来教大家如何使用房卡详细充值房卡充值 添加房卡批售商:微【113857775】复制到微信搜索、直接添...
终于找到“金花建房软件哪个好/... 起点大厅是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:44346008许多玩家在游戏中会购买房卡来...