Как настроить код Visual Studio в Windows 10 таким образом, чтобы игнорировать шебанги и использовать путь интерпретатора Python?

1

У меня есть проект 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 Code на самом деле использует shebang, ошибка понятна: не существует ни env ни python3.

Как мне настроить Visual Studio Code так, чтобы он не учитывал 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:

Изображение 174551

Поэтому я подозреваю, что есть где-то настройка исполняемого пути Python, которую я мог бы настроить.

  • 0
    Комментарии не для расширенного обсуждения; этот разговор был перенесен в чат .
Теги:
visual-studio-code
python-3.x
vscode-settings

1 ответ

0

притон

Использование или отсутствие shebang можно настроить в настройках: поиск shebang, а затем Code-runner: Respect Shebang

версия Python

При запуске кода через Ctrl F5 использовался правильный интерпретатор.

При запуске через Alt Ctrl N (Run Code) использовался неправильный.

Я проверил

import sys
print(sys.executable)

и по какой-то причине был показан интерпретатор Platform.io. Я не знаю, как это закончилось в Run Code но отключение Platform.io помогло. Оба Alt Ctrl N и Ctrl F5 теперь используют правильный интерпретатор.

Я до сих пор не знаю, почему оба способа запуска сценария используют разные интерпретаторы, но по крайней мере проблема решена на данный момент.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню