Python не будет работать внутри CMD, PS или VS Code

Я учусь, поэтому, пожалуйста, простите меня, если это общеизвестно.

Я исправил свои файлы 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)

чтобы предложить мне ввести ввод, а затем распечатать указанный ввод на выходе или терминале

Я предполагаю, что терминал, встроенный в VS Code, является интегрированным, если это правильно, то это тот, который я использовал. Мое решение, которое я разместил ниже, является странным, но я перезапустил vs code и попробовал еще раз, и оно снова сработало. И да, у меня было установлено расширение python для кода VS.

Sajjad Ahmed 03.04.2023 21:05
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
2
1
77
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Подобных вопросов много, но точного не нашел. Вот решение, которое я нашел:

Вместо того, чтобы запускать файл в 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 не предназначена для работы в качестве терминала и не имеет интерактивной поддержки.
mklement0 04.04.2023 15:01
Ответ принят как подходящий

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.

      • VSCode предлагает сделать это за вас при первом открытии скрипта Python для редактирования.
    • Запустите свой код следующим образом:

      • F5 для запуска текущего скрипта в отладчике (поддержка точек останова, пошаговое выполнение кода, ...)

      • Ctrl-F5 для нормальной работы вашего скрипта.

      • Также есть Shift-Enter для выполнения текущих выбранных строк в интерактивном сеансе python, но обратите внимание, что это не работает для интерактивных фрагментов кода, потому что строки вставляются одна за другой, так что строка кода после вызова input() случайно вставляется как ответ на запрос ввода.

      • Конечно, вы также можете вызывать функции запуска и отладки через графический интерфейс, например, через представление Run and Debug (выбирается с помощью значка на самой левой боковой панели), палитру команд (Ctrl-Shift-P) или с помощью значка воспроизведения справа. панели редактора:

большое спасибо, я продолжаю сталкиваться с незначительными проблемами, которые, вероятно, очевидны, я также понял это, сначала терминал тоже не работал, но выбрав «Запустить и отладить» вместо «Выполнить», он начал делать то, что я хотел! Не знаю, что изменилось, но теперь он по умолчанию показывает терминал, а не только панель вывода!

Sajjad Ahmed 04.04.2023 21:40

Загадочно, @SajjadAhmed, но я рад, что теперь это работает и что ответ помог.

mklement0 04.04.2023 21:41

Появилась новая странность: когда я запускаю какой-то базовый код, в раскрывающемся меню «Выполнить» доступны следующие параметры: -Выполнить код -Запустить Python -Отладить файл Python, когда я запускаю код, по какой-то причине он запускает только то, что было отлажено, а не любые изменения после. Когда я запускаю файл Python, я получаю сообщение об ошибке о синтаксисе (???). И когда я запускаю файл Python и отлаживаю, он работает точно так же, как и предполагалось.

Sajjad Ahmed 04.04.2023 21:52

@SajjadAhmed, я вижу только Run Python File и Debug Python File, похоже, у вас установлено дополнительное расширение; вышеупомянутое расширение Code Runner добавит команду Run Code, которой вам следует избегать. Не уверен насчет синтаксических ошибок и запуска старого кода — предлагаю вам задать новый вопрос.

mklement0 04.04.2023 22:29

Другие вопросы по теме