Я учусь, поэтому, пожалуйста, простите меня, если это общеизвестно.
Я исправил свои файлы PATH для python, я сделал единственный PATH и единственный экземпляр Python C:\Python Это устранило проблему, из-за которой код VS не мог найти интерпретатор Python.
Теперь, когда я это сделал, когда я пытаюсь запустить команду python, это происходит:
PS C:\Users\sajja\Documents\git\cs50w_repo\cs50w_lecturepractice\lecture2-python> python name.py
но он никогда не запрашивает ввод, в чем и заключается весь смысл этого файла.
когда я проверяю установку python, vscode распознает ее, просто не запускает
PS C:\Users\sajja\Documents\git\cs50w_repo\cs50w_lecturepractice\lecture2-python> python Python 3.11.2 (tags/v3.11.2:878ead1, 7 февраля 2023 г., 16:38:35) [MSC v.1934 64 бит (AMD64)] на win32 Введите «помощь», «авторское право», «кредиты» или «лицензия» для получения дополнительной информации.
Если я переключусь на вкладку вывода и сделаю это оттуда, он запустит код без ошибок, но никогда не запрашивает ввод и, следовательно, никогда не печатает вывод
[Выполняется] python -u "c:\Users\sajja\Documents\git\cs50w_repo\cs50w_lecturepractice\lecture2-python\name.py"
[Готово] выход с кодом = 0 через 0,057 секунды
Я ожидал этого кода:
name = input("Name: ")
print(name)
чтобы предложить мне ввести ввод, а затем распечатать указанный ввод на выходе или терминале
Подобных вопросов много, но точного не нашел. Вот решение, которое я нашел:
Вместо того, чтобы запускать файл в VSCode, я выбрал «Выполнить и отладить», что открыло другой терминал (возможно?), этот терминал принимает ввод и, следовательно, печатает правильный вывод.
Вот:
PS C:\Users\sajja\Documents\git\cs50w_repo\cs50w_lecturepractice> & C:/Python/python.exe c:/Users/sajja/Documents/git/cs50w_repo/cs50w_lecturepractice/lecture2-python/name.py Имя: Саджад саджад
Окно вывода по-прежнему не делает того, что должно, но окно терминала ведет себя так, как должно.
Run and Debug
действительно запускает активный скрипт в терминале, встроенном в Visual Studio Code, называемом интегрированным терминалом (вкладка TERMINAL
), где, как и в любом терминале, поддерживаются интерактивные функции. Напротив, вкладка OUTPUT
не предназначена для работы в качестве терминала и не имеет интерактивной поддержки.
Note: I'm assuming that your problems are limited to running in Visual Studio Code. Assuming the python
executable is discoverable via $env:PATH
, you should not experience problems when running your script in regular console windows or Windows Terminal.
Чтобы запустить код интерактивной консоли (на основе терминала) в Visual Studio Code, он должен работать во встроенном терминале, который является вкладкой TERMINAL
на панели (вы можете переключать видимость последней с помощью Ctrl-J):
Напротив, вкладка OUTPUT
не предназначена для запуска интерактивных консольных приложений и не поддерживает их.
Он используется такими расширениями, как Code Runner, который с помощью своей команды Run Code
невидимо запускает код и фиксирует только его выходные данные, которые выводятся на вкладку OUTPUT
— любые интерактивные подсказки фактически приведут к зависанию скрытого процесса, потому что интерактивный ввод невозможен. (Существует дополнительный параметр конфигурации, который позволяет вам вместо этого запускать в терминале, но он работает только для целых, уже сохраненных файлов).
Лучше всего установить отладчик для конкретного языка, который не только (всегда и по умолчанию) корректно выполняет код в терминале, но и поддерживает отладку.
В частности, для файлов Python:
Установите расширение Python.
Запустите свой код следующим образом:
F5 для запуска текущего скрипта в отладчике (поддержка точек останова, пошаговое выполнение кода, ...)
Ctrl-F5 для нормальной работы вашего скрипта.
Также есть Shift-Enter для выполнения текущих выбранных строк в интерактивном сеансе python
, но обратите внимание, что это не работает для интерактивных фрагментов кода, потому что строки вставляются одна за другой, так что строка кода после вызова input()
случайно вставляется как ответ на запрос ввода.
Конечно, вы также можете вызывать функции запуска и отладки через графический интерфейс, например, через представление Run and Debug
(выбирается с помощью значка на самой левой боковой панели), палитру команд (Ctrl-Shift-P) или с помощью значка воспроизведения справа. панели редактора:
большое спасибо, я продолжаю сталкиваться с незначительными проблемами, которые, вероятно, очевидны, я также понял это, сначала терминал тоже не работал, но выбрав «Запустить и отладить» вместо «Выполнить», он начал делать то, что я хотел! Не знаю, что изменилось, но теперь он по умолчанию показывает терминал, а не только панель вывода!
Загадочно, @SajjadAhmed, но я рад, что теперь это работает и что ответ помог.
Появилась новая странность: когда я запускаю какой-то базовый код, в раскрывающемся меню «Выполнить» доступны следующие параметры: -Выполнить код -Запустить Python -Отладить файл Python, когда я запускаю код, по какой-то причине он запускает только то, что было отлажено, а не любые изменения после. Когда я запускаю файл Python, я получаю сообщение об ошибке о синтаксисе (???). И когда я запускаю файл Python и отлаживаю, он работает точно так же, как и предполагалось.
@SajjadAhmed, я вижу только Run Python File
и Debug Python File
, похоже, у вас установлено дополнительное расширение; вышеупомянутое расширение Code Runner
добавит команду Run Code
, которой вам следует избегать. Не уверен насчет синтаксических ошибок и запуска старого кода — предлагаю вам задать новый вопрос.
Я предполагаю, что терминал, встроенный в VS Code, является интегрированным, если это правильно, то это тот, который я использовал. Мое решение, которое я разместил ниже, является странным, но я перезапустил vs code и попробовал еще раз, и оно снова сработало. И да, у меня было установлено расширение python для кода VS.