Pycharm中使用os、subprocess等调用shell命令出现sh:l:XXX not found错误
解决方案:
从终端启动pycharm,让其作为terminal的子进程(terminal 不能关闭了),到你的pycharm安装路径下执行 sh pychram.sh就不会出问题了
为了方便,给pycharm添加个软链接如下:
路径换成自己的pycharm安装路径
下次就可以直接使用pycharm命令打开pycharm了
pycharm中的环境是copy的,添加环境变量方法如下:1、在Pycharm终端添加环境变量,在菜单栏中找到运行(run)–>编辑配置(EditConfigurations)–>环境变量(Enviromentvariables)添加即可。
2、通过终端启动Pycharm,在终端输入自定义的shell命令启动Pycharm,可以使Pycharm“继承”系统的环境变量,而不用再设置Pycharm的内部环境变量。
由于安装Pycharm时忘记添加到右键选项卡打开,以至于每次想要打开某个项目时需要先打开最近项目,再从Pycharm中打开文件,比较麻烦,因此想要从文件夹中直接打开,个人感觉比较舒服,网络上已经有一些教程但是参差不齐,试了好久才成功,记录一下,以便后人方便一、在桌面上右键添加Pycharm
1.打开注册表,新建pycharm项
win+R打开运行窗口,输入regedit回车。进入:
计算机\HKEY_CLASSES_ROOT\Directory\Background\shell目录(姑且称之为文件夹,因为我也不知道叫啥),右键点击shell新建项,项名称起为PyCharm,右键右方的默认字符串值,修改为Open Folder as PyCharm
.右击空白处,新建字符串值命名为Icon,修改字符串值为pycharm.exe所在的完整目录,我的是D:\Program Files\JetBrains\PyCharm Community Edition 2021.1\bin\pycharm64.exe。修改完成后应如图所示:
2.新建command项(重要)
右键点击刚刚创建好的PyCharm项再进行新建项,项名称起为command,右键右方的默认字符串值,修改为"D:\Program Files\JetBrains\PyCharm Community Edition 2021.1\bin\pycharm64.exe" "%V"修改完成后应该如下图所示:
完成后就可以进行右键桌面将整个桌面作为项目使用pycharm打开了
二、在资源管理器中右键文件夹使用Pycharm打开文件夹项目
1.打开注册表,在计算机\HKEY_CLASSES_ROOT\Directory\shell下新建pycharm项
代码如下(示例):
win+R打开运行窗口,输入regedit回车。进入:
计算机\HKEY_CLASSES_ROOT\Directory\shell目录,右键点击shell新建项,项名称起为PyCharm,右键右方的默认字符串值,修改为Open Folder as PyCharm.右击空白处,新建字符串值命名为Icon,修改字符串值为pycharm.exe所在的完整目录,我的是D:\Program Files\JetBrains\PyCharm Community Edition 2021.1\bin\pycharm64.exe。修改完成后应如图所示。(其实除了目录其余 *** 作与第一步一样)
2.新建command项(重要)
右键点击刚刚创建好的PyCharm项再进行新建项,项名称起为command,右键右方的默认字符串值,修改为"D:\Program Files\JetBrains\PyCharm Community Edition 2021.1\bin\pycharm64.exe" "%V"修改完成后应该如下图所示:
完成后就可以进行右键资源管理器中的文件夹作为项目使用pycharm打开了!!!
总结
关键点只有两处,两个不同的目录,两个不同的值,然而很多教程并没有完整的介绍
计算机\HKEY_CLASSES_ROOT\Directory\Background\shell、计算机\HKEY_CLASSES_ROOT\Directory\shell这两种不同的目录下添加,所产生的功用不同,也没有说清楚
D:\Program Files\JetBrains\PyCharm Community Edition 2021.1\bin\pycharm64.exe、“D:\Program Files\JetBrains\PyCharm Community Edition 2021.1\bin\pycharm64.exe” "%V"这两个值到底怎么添加
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)