Desactivar una variable de entorno de Linux en Python

Abid Ullah 21 junio 2023
  1. Desactivar una variable de entorno de Linux en Python
  2. Formas de desarmar una variable de entorno de Linux en Python
Desactivar una variable de entorno de Linux en Python

En este artículo, aprenderemos diferentes formas de desactivar una variable de entorno de Linux en Python. El método más útil es utilizar el comando unset.

Sin embargo, podemos usar varias otras formas de desactivar una variable de entorno de Linux en Python. Lea el artículo para explorar más.

Desactivar una variable de entorno de Linux en Python

Python funciona con diferentes sistemas operativos (SO). Linux es uno de los sistemas operativos en los que se puede utilizar Python.

Aunque podemos usar tanto Linux como Python, hay algunas diferencias entre los dos. Una de las diferencias que debemos considerar es cómo se interpretan las variables de entorno.

Podemos usar el método os.unsetenv() en Python si queremos desarmar una variable de entorno que configuramos previamente.

Esta función eliminará la variable de entorno del proceso actual y aceptará el nombre de la variable de entorno como argumento. Además, la función eliminará la variable de entorno del proceso actual.

Por lo tanto, es esencial recordar que anular la configuración de una variable de entorno de shell mediante Python no eliminará el valor del shell. Si la variable de entorno se establece en el shell, los procesos secundarios de Python seguirán teniendo acceso a ella incluso si se iniciaron después del proceso de Python.

El comando unset debe usarse si desea borrar una variable de entorno del shell.

Formas de desarmar una variable de entorno de Linux en Python

Python proporciona muchas opciones para eliminar y anular el valor de una variable de entorno en Linux en Python.

  1. Usar el comando unset es el enfoque más típico y común. Con este comando, la variable de entorno se eliminará del shell que ahora está activo.
  2. El comando exportar de Python ofrece un método adicional para borrar una variable de entorno de Linux que se configuró previamente. Este comando eliminará la variable de entorno del shell activo y cualquier proceso secundario.
  3. Por último, otra opción es aprovechar la técnica os.environ.pop. Después de ejecutar este método, la variable de entorno se eliminará del diccionario os.environ.

La estrategia que elegimos se basa en los requisitos que tenemos.

  1. El comando unset es lo que usaríamos si queremos borrar la variable de entorno del shell en el que estamos trabajando ahora.
  2. El comando exportar es lo que usaríamos si queremos borrar la variable de entorno del shell actualmente activo y cualquier proceso secundario.
  3. Usamos la función os.environ.pop si lo único que queremos es borrar la variable de entorno del diccionario os.environ.

Use os.environ para eliminar o desarmar una de las variables de entorno

Al trabajar con Python en Linux, es posible que debamos eliminar o desactivar una de las variables de entorno.

Por ejemplo, si tenemos la variable de entorno PYTHONPATH configurada para apuntar a un lugar determinado y ahora deseamos eliminar esa configuración, podemos usar el código proporcionado en el siguiente ejemplo.

# import os library
import os

# Unset the path with the command
os.environ.pop("PYTHONPATH", None)

Esta acción eliminará la variable de entorno PYTHONPATH del diccionario os.environ. No pasará nada si la variable de entorno no se ha establecido en este caso.

Use del os.environ para desarmar una de las variables de entorno

También podemos usar la opción de usar el código que se presenta a continuación para borrar una variable de entorno.

# import operating system
import os

# use this command to unset
del os.environ["PYTHONPATH"]

Producción :

KeyError                                  Traceback (most recent call last)
KeyError: 'PYTHONPATH'

Esta acción eliminará la variable de entorno PYTHONPATH del diccionario os.environ. Esto dará como resultado un KeyError si la variable de entorno no está configurada.

Use os.environ.unsetenv y os.environ para eliminar y reemplazar variables

Si queremos borrar el valor que se le asignó a la variable USUARIO y sustituirlo por la palabra nadie, se procederá de la siguiente manera:

import os

os.environ.unsetenv("USER")
os.environ["USER"] = "nobody"

El código anterior aclara el valor asignado a la variable USUARIO y lo reemplaza con la palabra nadie.

Use os.environ.unsetenv para Desarmar

Podemos omitir el segundo parámetro si todo lo que queremos hacer es borrar el valor de la variable. Por ejemplo, la variable USUARIO no se establecería si hiciera lo siguiente.

import os

os.environ.unsetenv("USER")

El código anterior borra el valor de la variable. La variable USUARIO no estaría configurada.

Utilice os.environ.get() para comprobar si una variable está configurada antes de desactivarla

También se puede comprobar si una variable se ha configurado antes de desactivarla con la ayuda de la función os.environ.get(). Si desea desarmar una variable solo si está configurada actualmente, puede utilizar esto a su favor.

Por ejemplo, lo siguiente solo eliminaría el valor de la variable USUARIO si ya estaba definida como nadie.

Código de ejemplo:

import os

if os.environ.get("USER") == "nobody":
    os.environ.unsetenv("USER")

Como ya sabemos, borrar el valor de una variable no siempre significa eliminarla del entorno. No logra nada más que establecer el valor en una cadena vacía.

Puede usar la función os.environ.pop() si desea eliminar completamente una variable del entorno. Esta función eliminará la variable del entorno y devolverá el valor que tenía antes de eliminarla.

Código de ejemplo:

import os

prev_value = os.environ.pop("USER", None)
print(prev_value)  # prints "nobody"

Producción :

nobody

Este código eliminará la variable USUARIO del entorno y devolverá el valor que estaba allí antes de eliminarlo.

Esperamos que este artículo de Python le resulte útil para comprender las formas de desactivar una variable de entorno de Linux en Python.

Autor: Abid Ullah
Abid Ullah avatar Abid Ullah avatar

My name is Abid Ullah, and I am a software engineer. I love writing articles on programming, and my favorite topics are Python, PHP, JavaScript, and Linux. I tend to provide solutions to people in programming problems through my articles. I believe that I can bring a lot to you with my skills, experience, and qualification in technical writing.

LinkedIn

Artículo relacionado - Python Environment Variable