Из редактора Canopy, как запустить скрипт python в текущем интерактивном пространстве имен?Запустить скрипт в интерактивном пространстве имен изнутри Canopy
В частности, у меня есть большой объект модели, который занимает много времени, чтобы загрузить. Я хотел бы создать экземпляр модели в интерактивной оболочке и затем запустить сценарии, которые работают с существующей моделью. Если я выберу текст в своем сценарии и нажмите кнопку «Запустить выделенный текст», все будет хорошо. В качестве альтернативы, если я нахожу «run -i script.py», как предлагается в этом related question, он также отлично работает. Однако, если я нажму кнопку «Запустить текущий файл», скрипт появится в чистом пространстве имен и не сможет найти ни одну из переменных, которые уже существуют в интерактивной оболочке.
Это конкретный код, который я пытаюсь использовать для загрузки модели только при первом проходе через скрипт.
# Only instantiating the model object if it does not already exist
if 'model' not in locals():
model = TreeModel(filename)
Я заметил, что в диалоговом окне «Запуск конфигураций» есть поле «Аргументы», но оно похоже на аргументы, которые передаются самому скрипту. Было ли это логичным местом для добавления конфигурации для самой команды запуска? – neal
Он не может быть разумно реализован в этой области, должен быть в другом подобном поле. –
Извините за неоднозначное «это». Либо поле дополнительных аргументов (или просто флажок, если это одна из немногих общих настроек) в диалоговом окне «Запуск конфигурации» - это то, что я представлял. Спасибо, что позволили мне знать, чтобы прекратить поиск интегрированного способа сделать это и обеспечить обходное решение. – neal