2012-03-14 3 views
3

Как предварительно загрузить некоторые библиотеки и скрипты в python, прежде чем я вызову команду python? Есть ли что-то вроде файла .bashrc, чтобы иметь дело с предопределением некоторых функций/переменных перед запуском терминала оболочки?preload некоторые библиотеки и скрипты в python

Спасибо.

+3

Вы говорите, что у вас есть большая проблема, которую вы пытаетесь решить ... –

+0

@ IgnacioVazquez-Abrams: Нет, я просто хочу знать, есть ли какое-то средство с языком, так что мне не нужно делать ' import math' и т. д. каждый раз, когда я использую команду python. –

ответ

5

Создайте файл «my_imports.py» и добавьте строки импорта для всех ваших модулей.

import math 
import anothermodule 
import anotherothermodule 

Затем установите переменную окружения 'PYTHONSTARTUP' и установить его в '/path/to/my_imports.py.

Теперь, когда вы запускаете python в командной строке, он сначала загружает ваши модули.

+0

как насчет того, когда у меня есть несколько файлов .py, которые мне тоже нужно импортировать? –

+1

Чтобы импортировать файл my_file.py, просто добавьте 'import my_file' в файл выше, он должен находиться в том же каталоге или в каталоге site_packages. –

0

Как об этом:

python -i -c "import math" 

И вы можете поместить этот код в файл Баш, как b.sh

#! /bin/bash 

python -i -c "import math" 

Тогда вы можете установить, что вы хотите.

0

Я хотел бы иногда запускать python с загруженной статистикой/математикой (numpy, matplotlib и т. Д.), Но в остальном просто простой python без накладных расходов на модули загрузки, которые я не собирался использовать.

я использую Ubuntu Linux, поэтому я создал питон скрипт python-preload.py со следующим:

import numpy as np 
import matplotlib.pyplot as plt 
import matplotlib as mpl 

и добавил псевдоним к моему ~/.bashrc:

alias pym='PYTHONSTARTUP=/home/$USER/path/to/script/python-preload.py python' 

так, когда я хочу нормальный питона я работать python, и когда я хочу весь математический материал, я запускаю pym.

надеюсь, что это поможет. основанный на ответе Тони Бланделла.

Смежные вопросы