iniciar - instalar python en windows 10 2018
Python: forma independiente de la plataforma para modificar la variable de entorno PATH (3)
¿Hay alguna manera de modificar la PATH
entorno PATH
forma independiente de la plataforma mediante Python?
Algo similar a os.path.join()
?
Debería poder modificar os.environ
.
Dado que os.pathsep
es el caracter para separar las diferentes rutas, debe usar esto para anexar cada nueva ruta:
os.environ["PATH"] += os.pathsep + path
o, si hay varias rutas para agregar en una lista:
os.environ["PATH"] += os.pathsep + os.pathsep.join(pathlist)
Como mencionaste, os.path.join
también se puede usar para cada ruta individual que debes adjuntar en caso de que tengas que construirlos a partir de partes separadas.
La advertencia a tener en cuenta al modificar las variables de entorno en Python es que no hay un equivalente del comando de shell "exportar". No hay forma de inyectar cambios en el proceso actual, solo procesos secundarios.
Tenga en cuenta que os.environ
no es en realidad un diccionario. Es un objeto especial tipo diccionario que realmente establece variables de entorno en el proceso actual usando setenv .
>>> os.environ.__class__
<class os._Environ at 0x100472050>
>>> import os
>>> os.environ["HELLO"] = "WORLD"
>>> os.getenv("HELLO")
''WORLD''
Esto significa que PATH
(y otras variables de entorno) serán visibles para el código C ejecutado en el mismo proceso.
(Dado que los comentarios no pueden contener el formato, tengo que poner esto en una respuesta, pero creo que es un punto importante que hacer. Esto es realmente un comentario sobre el comentario sobre que no hay equivalente a ''exportar'' .)