Instalación del archivo pythonstartup

¿Cómo instalo el archivo pythonstartup para que se ejecute en un comando como python myfile.py ?

Intenté instalarlo en mi directorio /home/myuser para Ubuntu, pero decía que no tenía permisos suficientes. Además, diferentes lugares dicen alternativamente que debería estar en mayúsculas o en minúsculas con un período anterior. La guía de línea de comandos de Python no parece explicar dónde colocar el archivo o cómo cambiar qué variable de entorno “apunta” a él.

En tu ~/.bashrc :

 export PYTHONSTARTUP=$HOME/.pythonstartup 

y coloca tu código de python en $HOME/.pythonstartup , como:

 import rlcompleter import readline readline.parse_and_bind("tab: complete") 

A continuación, ejecute el shell interactivo:

 python 

Ver las importaciones de PYTHONSTARTUP se procesan. Esto solo funciona en el modo interactivo de python.

Para obtener más información sobre la variable PYTHONSTARTUP , lea la página de manual de python:

 $ man python 

En Windows, puede poner su script de inicio prácticamente en cualquier lugar siempre que ponga su ruta en su variable de entorno PYTHONSTARTUP. En Windows, no importa el tamaño de los nombres de las variables de entorno.

Puede definir los valores de las variables de entorno del usuario y del sistema tal como se describe en una respuesta mía relacionada aquí .

Supongo que te refieres a la variable de entorno PYTHONSTARTUP ? Intente colocar un archivo my-python-startup.py con algunos contenidos interesantes en su directorio de inicio, luego emita lo siguiente en la línea de comando:

 export PYTHONSTARTUP=$HOME/my-python-startup.py python 

y observa lo que pasa. Luego, coloque la primera de las líneas anteriores en el archivo (oculto!) .Bashrc en su homedir para que persista en las sesiones terminales.

Cómo ejecutar el archivo python definido en $ PYTHONSTARTUP cuando ejecutas un archivo como python foobar.py

Ejecute este comando para averiguar dónde ha definido USER_SITE su SO:

 $ python -c "import site; site._script()" 

La mía dice:

 USER_SITE: '/home/el/.local/lib64/python2.7/site-packages' 

Cree un nuevo archivo llamado /home/el/.local/lib64/python2.7/site-packages/usercustomize.py , ponga este código allí:

 try: import your_things import readline print("ROCKETMAN!") except ImportError: print("Can't load your things") print("Either exit here, or perform remedial actions") exit() 

Cierre la terminal y vuelva a abrirla para eliminar cualquier chanchullo.

Cree un nuevo archivo de python foobar.py cualquier lugar del sistema de archivos, coloque este código allí:

 #Note there is no your_things module imported here. #Print your_things version: print(your_things.__version__) 

Ejecutarlo:

 python foobar.py ROCKETMAN! '1.12.0' 

Lo que acaba de suceder.

Usaste el enganche de configuración de python específico de Python en todo el usercustomize.py y las bibliotecas importadas en el archivo usercustomize.py que se ejecutaba antes de foobar.py.

Documentación: https://docs.python.org/2/library/site.html

Donde encontré este truco: https://nedbatchelder.com/blog/201001/running_code_at_python_startup.html