2014-10-21 2 views
0

Редактор кода Canopy подчеркивает неопределенные переменные. Однако, как только переменные загружаются в пространство имен, запустив другой скрипт python из текущего скрипта, он по-прежнему выделяет ошибку, даже если такая переменная существует и может использоваться.Редактирование кода пространства навеса навеса

Есть ли способ заставить его видеть загруженные переменные тоже?

Спасибо.

ответ

1

Нет, нет, и не должно быть, потому что при запуске скрипта он не будет иметь доступа к этим переменным.

Для получения дополнительной информации, пожалуйста, см https://stackoverflow.com/a/26413862/1988991

Вы можете запустить сценарий в пространстве имен IPython оболочки, используя -i опцию Run магических, но это не нормальное использование, и не является полезным для тестирования скрипт, который будет запускаться независимо.

+0

Хорошо, спасибо. Кстати, я могу использовать эти переменные, когда запускаю еще один скрипт python из моего текущего скрипта с помощью команды «execfile()». –

+0

Ваша формулировка немного расплывчата и, как я ее читал, неверна. Если быть точным: вы можете использовать пространство имен ipython в test.py, если вы 'execfile (« test.py »)' из оболочки ipython. Вы не можете использовать пространство имен ipython в test.py, если вы выполните его внутри исполняемого сценария, как вы, кажется, указываете. См. Https://docs.python.org/2/library/functions.html#execfile. Итог: когда вы запускаете скрипт, ни он, ни все, что он использует, могут получить доступ к пространству имен ipython обычными способами. BTW FYI: http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work –