Подтвердить что ты не робот

Автоматическая загрузка модуля при запуске python

Я хочу, чтобы IPython или интерпретатор Python автоматически загружали модуль при запуске.

Возможно ли это?

Например, когда я запускаю IPython:

$ ipython

...

>>> from __future__ import division
>>> from mymodule import *

In [1]:

Что-то вроде текущая оболочка SymPy, найденная на страницах учебника.

4b9b3361

Ответ 1

Проверьте файл ~/.ipython/ipythonrc - вы можете перечислить все модули, которые вы хотите загрузить при запуске.

Ответ 2

У вас есть .pythonstartup в вашем домашнем каталоге и загрузите там модули и укажите PYTHONSTARTUP env в этот файл.

Команды Python в этом файле выполняются до отображения первого приглашения в интерактивном режиме.

Я использую его для включения завершения командной строки в оболочке интерпретатора python

Ответ 3

Если параметр -S не передан в двоичный файл python, специальный модуль site импортируется по умолчанию перед выполнением передан вашему script или интерактивному интерпретатору. Помимо прочего, модуль ищет файлы *.pth. В каждой строке файлы *.pth должны содержать либо путь для включения в sys.path, либо команду для выполнения. Модуль также импортирует sitecustomize и usercustomize (который может содержать произвольный код, хороший способ заставить ваших коллег сходить с ума, если они возникают, чтобы вызвать ошибки), если они существуют где-то в sys.path.

Проблема заключается в том, что текущий каталог не находится в sys.path, когда импортируется модуль site, то есть трудно настроить конкретный script.

Я иногда добавляю следующую строку в начале моих сценариев, так что script начнется с поиска в файлах .pth в текущем каталоге и добавит недостающие пути в sys.path:

# search for *.pth files in the current directory
import site; site.addsitedir('')