我有一个Python项目打算在Linux下运行:
#!/usr/bin/env python3
def hello(a: str):
print(f"bonjour {a}")
hello("SO")
当我在Windows上用visualstudio代码编辑代码并运行它时,我得到
^{pr2}$如果visualstudio代码打算实际使用shebang,则错误是可以理解的:既不存在env
也不存在python3
。在
如何配置visualstudio代码,使其不考虑shebang,而是使用C:\Python36\python.exe
可执行文件?
我在设置Python: Python Path
中找到并将其设置为我的可执行文件,但是在shebang存在的情况下,shebang优先
我去掉了shebang来尝试这个版本(这不是解决方案,我需要保留shebang),有趣的是我得到了:
[Running] python -u "d:\Seafile\dev\dev-perso\domotiqueNG\services\dispatcher\hello.py"
File "d:\Seafile\dev\dev-perso\domotiqueNG\services\dispatcher\hello.py", line 2
def hello(a: str):
^
SyntaxError: invalid syntax
这很奇怪,因为它似乎表明编译器不识别python3.6语法,而python3.6是路径中的语法(计算机上隐藏了另外两个python2可执行文件,甚至不在路径中)。在
Visual Studio代码建议使用3.6:
所以我怀疑Python可执行路径的某个设置是可以调整的。在
舍邦
shebang的使用与否可以在设置中配置:搜索
shebang
,然后Code-runner: Respect Shebang
Python的版本
当通过CtrlF5运行代码时,使用了正确的解释器。在
当通过AltCtrlN(
Run Code
)运行它时,使用的错误。在我查过了
因为某种原因平台.io翻译被出示。我不知道它是如何在
Run Code
下结束的,但是却使它失效了平台.io帮助。AltCtrlN和CtrlF5现在都使用正确的解释器。在我仍然不知道为什么两种启动脚本的方法都使用不同的解释器,但至少现在问题已经解决了。在
相关问题 更多 >
编程相关推荐