'$' не является частью синтаксиса Python, это визуальная подсказка в документации, представляющей командную строку.
Чтобы ответить на вопрос из заголовка этого поста Сначала я приведу некоторые инструкции по загрузке сценариев в консоль Python. Однако для вашего конкретного случая c вам это не нужно. Прокрутите вниз до части об отладке в PyCharm.
Есть два способа получить ваш скрипт в консоли. Один из них - просто загрузить его, используя правильную версию двух строк, которые я даю ниже, или вы можете загрузить его как модуль - даже если он не предназначен для этого.
В общем, для выполнения скрипт в оболочке Python на Python 2, который вы можете сделать
>>> execfile(r"<path to script here>")
на Python 3, он более многословен:
>>> exec(open(r"<path to script here>").read())
Эффект, который он имеет, такой Вы вырезали и вставили скрипт в консоль. Глобальная область видимости консоли получит все функции, классы и переменные, которые имеют самый левый отступ в файле. Также он может не запускать ваш блок if __name__ == '__main__':
. Но вы можете взломать это.
Если вы хотите, чтобы переменная vars / classes / et c была помещена в другую область, отличную от глобальной области видимости вашей консоли, то есть два дополнительных параметра для вышеуказанных команд. Первый - это словарь для globals
, а другой для locals
. Вы можете обойтись только с помощью параметра globals
- это просто обычный словарный объект, который вам нужен.
Если файл, который вы хотите загрузить, является модулем, вы можете импортировать его, как любой другой модуль, добавив свою домашнюю папку к пути поиска модуля Python и используя директиву import
. Вы можете загрузить свой сценарий таким образом, даже если он не предназначен для использования в качестве модуля.
>>> import sys
>>> sys.path.append(r'/Users/todd/projects/mymodule_folder')
>>> import mymodule
Если вы вносите в него изменения и хотите перезагрузить его:
>>> import importlib
>>> importlib.reload(mymodule)
Загрузка вашего Скрипт как модуль позволяет избежать загрязнения глобальной области видимости вашей консоли. После загрузки просто добавьте имена функций и переменных вашего скрипта к имени модуля. Имя модуля будет именем файла без расширения .py
.
Если сценарию требуются параметры командной строки, вы можете просто ввести значения для жесткого кода для них в сценарии и отключить строки кода, которые пытаются и получить значения из CLI. Если это сложно, рассмотрите возможность запуска его в IDE, как описано в следующем разделе.
Итак, вышеизложенное показывает, как вы можете запускать свои python сценарии в любой консоли Python REPL, которую вы хотите.
НО загрузка ваших скриптов в консоль Python может вообще не потребоваться для ваших целей. Вы хотели отладить некоторые сценарии (train.py, test.py) из этого проекта: https://github.com/microsoft/tf-gnn-samples).
Отладка сценария командной строки с PyCharm
Во многих случаях сценарий Python написан для запуска из оболочки ОС и получения параметров командной строки от пользователя. Скрипты такого типа могут быть загружены в консоль Python, но для большинства из них требуются незначительные хаки. Однако, если все, что вы хотите сделать, это отладить такой скрипт, вам не нужно гадить с консолью.
PyCharm поддерживает запуск их как есть (как это делает Eclipse и другие IDE), как и любой другой скрипт. Это всего лишь вопрос создания конфигурации запуска / отладки для проекта. Я только что установил PyCharm и попробовал записать детали. Легкая задача.
Просто откройте проект в PyCharm, и над панелью редактора на панели инструментов есть пункт меню для Редактировать конфигурации . Щелкните по нему, чтобы открыть диалоговое окно Run / Debug Configurations , и щелкните по +
, чтобы добавить конфигурацию. Появится небольшое диалоговое окно с предопределенными шаблонами - выберите Python
в качестве шаблона и примите.
Затем в главном диалоговом окне введите Путь сценария: с путем к train .py (или другой скрипт), затем установите флажок, [x] Эмулировать терминал в консоли вывода . Кроме того, вы можете добавить параметры командной строки в Параметры: текстовое поле (я вставил в текст: mymodel mytask
просто для удовлетворения потребности сценария в двух параметрах). Нажмите OK внизу, чтобы принять конфигурацию и закрыть диалоговое окно.
Теперь вы должны увидеть зеленый значок ошибки на панели инструментов. Установите точку останова в блоке __main__
скрипта и щелкните значок отладки, чтобы начать отладку скрипта. Это должно сделать это!
Отладка Python Сценарий командной строки с PDB
PDB - отладчик Python можно запустить без IDE. Это еще один способ отладки любого сценария. Если для этого требуются параметры командной строки, предоставьте их из оболочки ОС при запуске отладчика:
$ pdb myscript.py mymodel mytask
Это действительно все, что нужно для запуска сеанса отладки. PDB требует некоторых знаний своих текстовых команд. После начала сеанса вы можете получить список кода рядом с текущей строкой выполнения, введя l
. Введите help
, чтобы увидеть список команд.
Чтобы выполнить шаг в одну строку выполнения, введите «s» для шага или введите «шаг». Чтобы установить точку останова, введите break <line-number>
или установите точку останова в выражении. Ссылку на доступные команды можно найти здесь: https://docs.python.org/2/library/pdb.html. Есть также много версий чит-листов pdb, доступных в Интернете - просто зайдите в Google «patb cheatsheet» и выберите одну.