En Windows, para establecer una nueva variable = valor, simplemente podemos agregarla a la variable ambiental. Sin embargo, en Linux, parece un poco complicado. este es el procedimiento que seguí:
Abra Terminal y escriba:
vim ~/.bashrc
luego presione el teclado "i" y luego defina la variable de la siguiente manera:
Test_MyVariable='Tessst'
export Test_MyVariable
PATH=$PATH:Test_MyVariable/bin
entonces:wq
después de $echo veo la variable:
echo $Test_MyVariable
y devuelve:
Tessst
pero en mi Texto sublime devuelve Ninguno.
import os
new_v= os.environ.get('Test_MyVariable')
print(new_v)
Ninguno
Incluso revisé todos los os.environ disponibles pero no puedo encontrar mi archivo Test_MyVariable
. Además, también probé con ~/.bash_profile
y ~/.profile
les agregué variables, pero obtuve el mismo resultado. ¿Podría decirme qué estoy haciendo mal?
Respuesta1
Cuando define una variable en ~/.bashrc
, esa variable estará presente tan pronto como ~/.bashrc
se "obtenga" (lea). Esto sólo sucede cuando inicia un nuevo shell (por ejemplo, cuando abre una nueva terminal).
Entonces, si agrega la nueva línea a su .bashrc
archivo, deberá abrir una nueva terminal y ejecutar su script de Python allí. Alternativamente, puede ejecutarlo source ~/.bashrc
para obtenerlo en el shell actual.
Ahora, mencionas sublime pero no explicas realmente por qué es relevante, así que asumiré que estás ejecutando tu script de Python dentro del editor sublime de alguna manera. Presumiblemente, tiene algún tipo de emulador de shell. Si ese es el caso, entonces los detalles de cómo y dónde definir la variable dependerán de cómo sublime configure su caparazón. Pruebe lo siguiente:
Simplemente cierre la ventana sublime y luego ábrala nuevamente y vea si ya ha vuelto a leer su archivo
.bashrc
.Sublime bien podría no leer
.bashrc
nada. Si está ejecutando sublime desde algún botón de la GUI, probablemente necesitará cerrar sesión y volver a iniciarla antes de que pueda volver a leer las variables.Intente abrir una nueva terminal y ejecutarla
sublime
(o cualquiera que sea el nombre del comando para iniciar sublime desde la línea de comandos). ¿Ve la variable entonces?