Pregunta Cargue automáticamente un módulo en el inicio de Python


Quiero que IPython o el intérprete de Python carguen automáticamente un módulo cuando los inicie.

¿Es posible?

Por ejemplo, cuando comienzo IPython:

$ ipython

...

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

In [1]:

Algo como Concha en vivo de SymPy encontrado en las páginas de tutoriales.


11
2017-10-23 07:14


origen


Respuestas:


Verifica el archivo ~/.ipython/ipythonrc - puede enumerar todos los módulos que desea cargar al inicio.


3
2017-10-23 07:17



Tener un .pythonstartup en su directorio de inicio y cargar módulos allí y punto PYTHONSTARTUP env a ese archivo.

Los comandos de Python en ese archivo se ejecutan antes de que se muestre el primer aviso en modo interactivo.

Lo uso para habilitar la finalización de línea de comando en shell de intérprete python


14
2017-10-23 07:18



A no ser que -S la opción se pasa al python binario, un especial sitio el módulo se importa de forma predeterminada antes de pasar la ejecución a su secuencia de comandos o al intérprete interactivo. Entre otras cosas, el módulo busca *.pth archivos. En cada línea *.pth Los archivos deben contener una ruta para incluir en sys.path, o un comando para ejecutar. El módulo también importa sitecustomizey usercustomize (que puede contener código arbitrario, una buena manera de enloquecer a sus colegas, si es que generan errores) si existen en algún lugar de sys.path.

El problema es que el directorio actual no está en sys.path cuando el site Se importa el módulo, es difícil configurar su script en particular.

A veces agrego la siguiente línea al comienzo de mis scripts, para que el script comience con searchin for .pth archivos en el directorio actual y agregando las rutas que faltan para sys.path:

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

4
2017-09-23 17:19