Pycharm 中使用os、subprocess等调用shell命令出现sh:l:XXX not found错误的解决方案

Pycharm 中使用os、subprocess等调用shell命令出现sh:l:XXX not found错误的解决方案

先说结论:从终端启动pycharm即可解决!……
遇到这种错误你可能首先做的事情是将shell默认编译环境从dash切换为bash,用的是如下的方法:

sudo dpkg-reconfigure dash

dash设置为no
但是很可惜这只能解决系统级别的命令的调用 比如help我们自己添加到环境变量里的某些在terminal中可执行的命令依旧提示not found.
这多半是由于你的pycharm没有经由terminal,而是从快捷方式或者其他的方法打开,这种打开方法,pycharm不会去读取bashrc中的环境变量,当然也就找不到某些不在系统底层环境中的命令了.这一点我们可以通如下方法验证:terminal中执行

echo $PATH

在pycharm写的脚本中运行:

import os
os.system('echo $PATH')

从两次获得的结果不同我们就可以找出问题了,有些明明添加了环境变量的路径,在pycharm中居然没有!(当然这种区别只出现在你没有从终端启动pycharm的情况)
解决方法也很简单,就是从终端启动pycharm,让其作为terminal的子进程(terminal 不能关闭了),到你的pycharm安装路径下执行 sh pychram.sh就不会出问题了
为了方便,给pycharm添加个软链接如下:

sudo ln -s /usr/local/pycharm-community-2018.2.4/bin/pycharm.sh /usr/bin/pycharm

路径换成自己的pycharm安装路径 下次就可以直接使用pycharm命令打开pycharm了
<

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值