Эквивалент переменной PATH для IPython? - PullRequest
3 голосов
/ 08 марта 2012

Допустим, у меня есть сценарий Python test.py по некоторому пути path_A

И, скажем, у меня открыта оболочка IPython в пути path_B.

Я бы хотел бытьспособен сделать:

run test.py

из path_B (где открыта оболочка).

Возможно ли это в IPython?Есть ли что-то вроде PATH переменной в IPython?

1 Ответ

3 голосов
/ 08 марта 2012

Не так, как вы описываете. Обычный способ - сначала os.chdir(path_A) в ipython или просто запустить path_A/test.py, как сказал Томас в комментариях.

Добавление переменной окружения PYTHONPATH, как предлагается в другом ответе здесь, не будет работать для run, потому что это используется только для поиска import модулей.

В качестве альтернативы можно ввести path_A в sys.path (это можно сделать с помощью переменной среды PYTHONPATH или, предпочтительно, в файле конфигурации ipython, который запускается при запуске). Тогда вы сможете сделать:

import test
test.main()

Этот метод потребует от вас реструктуризации кода в test.py, чтобы он выполнялся во время вызова, а не во время импорта.

...