如何配置 Visual Studio Windows 10 中的代码以忽略 shebangs 并使用 Python 解释器路径?
How to configure Visual Studio Code in Windows 10 to disregard shebangs and use a Python interpreter path?
我有一个 Python 项目,旨在 运行 Linux:
#!/usr/bin/env python3
def hello(a: str):
print(f"bonjour {a}")
hello("SO")
当我在 Windows 上使用 Visual Studio 代码和 运行 编辑此代码时,我得到
[Running] /usr/bin/env python3 "d:\Seafile\dev\dev-perso\domotiqueNG\services\dispatcher\hello.py"
The system cannot find the path specified.
如果 Visual Studio 代码打算实际使用 shebang,错误是可以理解的:env
和 python3
都不存在。
我应该如何配置 Visual Studio 代码,以便它不考虑 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
这很奇怪,因为它似乎暗示编译器无法识别 Python 3.6 语法,而 Python 3.6 是路径中的语法(还有另外两个 Python 2 隐藏在计算机上的可执行文件,甚至不在路径中)。
Visual Studio 代码建议将使用 3.6:
所以我怀疑我可以调整 Python 可执行路径的某个设置。
shebang
是否使用shebang可以在设置中配置:搜索shebang
,然后Code-runner: Respect Shebang
Python
的版本
当通过 CtrlF5 运行 代码时,使用了正确的解释器。
当运行它通过AltCtrlN (Run Code
), 用错了
我检查过
import sys
print(sys.executable)
并且出于某种原因显示了 Platform.io 解释器。我不知道它是如何在 Run Code
下结束的,但禁用 Platform.io 有所帮助。 AltCtrlN 和 CtrlF5现在使用正确的解释器。
我仍然不知道为什么两种启动脚本的方式使用不同的解释器,但至少现在问题已经解决了。
我有一个 Python 项目,旨在 运行 Linux:
#!/usr/bin/env python3
def hello(a: str):
print(f"bonjour {a}")
hello("SO")
当我在 Windows 上使用 Visual Studio 代码和 运行 编辑此代码时,我得到
[Running] /usr/bin/env python3 "d:\Seafile\dev\dev-perso\domotiqueNG\services\dispatcher\hello.py"
The system cannot find the path specified.
如果 Visual Studio 代码打算实际使用 shebang,错误是可以理解的:env
和 python3
都不存在。
我应该如何配置 Visual Studio 代码,以便它不考虑 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
这很奇怪,因为它似乎暗示编译器无法识别 Python 3.6 语法,而 Python 3.6 是路径中的语法(还有另外两个 Python 2 隐藏在计算机上的可执行文件,甚至不在路径中)。
Visual Studio 代码建议将使用 3.6:
所以我怀疑我可以调整 Python 可执行路径的某个设置。
shebang
是否使用shebang可以在设置中配置:搜索shebang
,然后Code-runner: Respect Shebang
Python
的版本当通过 CtrlF5 运行 代码时,使用了正确的解释器。
当运行它通过AltCtrlN (Run Code
), 用错了
我检查过
import sys
print(sys.executable)
并且出于某种原因显示了 Platform.io 解释器。我不知道它是如何在 Run Code
下结束的,但禁用 Platform.io 有所帮助。 AltCtrlN 和 CtrlF5现在使用正确的解释器。
我仍然不知道为什么两种启动脚本的方式使用不同的解释器,但至少现在问题已经解决了。