2012-09-04 7 views
30

i tenía un archivo example_file.py, quiero utilizar este example_file.py de los distintos archivos, así que decidió añadir a example_file.pysys.path e importar este archivo en otro archivo para utilizar la funcionalidad de la archivo. me había abierto ipython y hecho lo siguienteadición de una ruta de archivo a sys.path en Python

import sys 
sys.path 
sys.path.append('/path/to/the/example_file.py') 

Y cuando traté de importar este archivo de otra ruta del directorio como

import example_file 

su funcionamiento muy bien, pero después de que salí de ipython que entré de nuevo y verifiqué el sys.path, aquí la ruta que he agregado no está presente, así que ¿alguien puede decirme cómo agregar una ruta a sys.path de manera permanente en python

+2

Haz que tu código sea un paquete apropiado, hazlo fácil de instalar y sé feliz por el resto de tu vida (en lugar de retocar). Aparte de eso: cada documentación le dice CLARAMENTE que 'sys.path.append()' acepta un directorio que contiene un archivo Y NO UNA RUTA ÚNICA A UN ARCHIVO. –

+0

posible duplicado de [Agregar carpeta a la ruta de Python permanentemente] (http://stackoverflow.com/questions/3722248/adding-folder-to-pythons-path-permanently) – DhruvPathak

+0

ki he agregado un directorio que contiene mi archivo, pero cómo hacer que ese camino permanezca en sys.path –

Respuesta

32

Hay algunas formas. Una de las más simples es crear un archivo my-paths.pth (como se describe en here). Este es solo un archivo con la extensión .pth que coloca en el directorio de su sistema site-packages. En cada línea del archivo, coloca un nombre de directorio, de modo que puede poner una línea allí con /path/to/the/ y agregará ese directorio a la ruta.

También podría usar la variable de entorno PYTHONPATH, que es como la variable PATH del sistema pero contiene directorios que se agregarán a sys.path. Ver the documentation.

Tenga en cuenta que no importa lo que haga, sys.path contiene directorios no archivos. No puede "agregar un archivo al sys.path". Siempre agrega su directorio y luego puede importar el archivo.

+0

ok gracias, está bien, he agregado mi directorio que consiste en archivos y está funcionando cuando importé el archivo desde otra ubicación, pero el problema cuando salí de ipython y volví a enlazar para verificar mi ruta, no aparece, no quiero hacerlo cada vez que ingresé el código, quiero agregar la ruta del directorio a sys.path permanatly, cómo haz esto –

+0

@Kouripm: tu comentario sugiere que en realidad no seguiste mi sugerencia, ni las sugerencias en la publicación duplicada anteriormente vinculada. – BrenBarn

+0

El paquete 'site' era perfecto. –

Cuestiones relacionadas