pycharm中使用Ctrl+Shift+F10快捷键运行py脚本时自动打开了vscode

遇到的问题:

Pycharm中右键运行脚本正常,点击按钮运行正常,但是在pycharm中使用Ctrl+Shift+F10快捷键运行py脚本时没有运行脚本而是自动在vscode中打开文件
如下:
脚本文件 aaa.py
在这里插入图片描述
执行后pycharm结果
在这里插入图片描述
自动打开了vscode
在这里插入图片描述
以下是解决办法 ,希望对你有帮助

我的环境:

Windows10 系统中同时安装了 pycharm, vscode,python, conda ,git Bash… 等

百度,google 有遇到类似问题的,但是都没有给出有效结果,于是冷静下来慢慢分析,对比发现其他py文件运行正常,而这个文件是从Linux系统中copy过来的,首行添加了shebang,因为这行导致了文件无法正常运行

问题原因:

我的python脚本中首行添加了shebang #!/usr/bin/env python

解决:

删除首行后正常

原因分析:

因为我在py脚本中设置了Shebang, 执行时相当于是在终端直接执行了如下命令:


C:\Users\dell\Desktop\code\python-script>C:/Users/dell/Desktop/code/python-script/aaa.py

而在命令行直接输入文件绝对路径会以文件的默认打开方式打开该文件,
如果你的.py文件默认打开方式刚好是vscode,它就会自动打开vscode,
如果你的文件打开方式不是vscode就不会出现这个问题,
但在windows下运行有可能也会出现只打开文件不运行pyton脚本的情况,
因此windows下运行python最好不要加shebang

关于shehang的解释:

大部分.py文件不必以#!作为文件的开始. 根据 PEP-394 , 程序的main文件应该以

#!/usr/bin/python2或者 #!/usr/bin/python3开始.(译者注: 在计算机科学中, Shebang (也称为Hashbang)是一个由井号和叹号构成的字符串 行(#!), 其出现在文本文件的第一行的前两个字符.
在文件中存在Shebang的情况下, 类Unix

操作系统的程序载入器会分析Shebang后的内容, 将这些内容作为解释器指令, 并调用该

指令, 并将载有Shebang的文件路径作为该解释器的参数. 例如, 以指令#!/bin/sh开头的文
件在执行时会实际调用/bin/sh程序.)
#!先用于帮助内核找到Python解释器, 但是在导入模块时, 将会被忽略. 因此只有被直接执 行的文件中才有必要加入#!.

另见:
https://zhuanlan.zhihu.com/p/262456371

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值