저는 로컬 PC에서 다음 Linux 배포판/커널을 사용하여 Ubuntu를 실행하고 있습니다.
$ lsb_release -a
>> ubuntu 16.04.3 LTS
$ uname -r
>> 4.10.0-33-generic
os
패키지를 통해 환경 변수를 호출하는 Python(3.5) 스크립트가 있습니다 .
단순화를 위해 다음 스크립트 test_script.py를 사용합니다.
import os
MY_VAR = os.environ['MY_VAR']
print(MY_VAR)
터미널에서 이 스크립트를 실행하면:
$ python test_script.py
>> File "test-script.py", line 3, in <module>
>> MY_VAR = os.environ['MY_VAR']
>> File "/home/USER/anaconda3/lib/python3.6/os.py", line 669, in __getitem__
>> raise KeyError(key) from None
>> KeyError: 'MY_VAR'
1번 시도
참고 자료:[1][4]
$ MY_VAR=123
$ export MY_VAR
$ echo $MY_VAR
>> 123
$ python test_script.py
>> 123
성공!...터미널을 닫았다가 다시 열 때까지 말이죠. 내가 이것을 할 때 :
$ python test_script.py
>> File "test-script.py", line 3, in <module>
>> MY_VAR = os.environ['MY_VAR']
>> File "/home/USER/anaconda3/lib/python3.6/os.py", line 669, in __getitem__
>> raise KeyError(key) from None
>> KeyError: 'MY_VAR'
2번 시도
참고문헌: [2]
끝에 /home/USER/.profile
다음 줄을 추가합니다.
# my variable
MYVAR=123
구하다. 저장되었는지 확인하세요.
$ python test_script.py
>> File "test-script.py", line 3, in <module>
>> MY_VAR = os.environ['MY_VAR']
>> File "/home/USER/anaconda3/lib/python3.6/os.py", line 669, in __getitem__
>> raise KeyError(key) from None
>> KeyError: 'MY_VAR'
3번 시도
참고문헌: [2]
끝에 /etc/profile
다음 줄을 추가합니다.
# my variable
MYVAR=123
구하다. 저장되었는지 확인하세요.
$ python test_script.py
>> File "test-script.py", line 3, in <module>
>> MY_VAR = os.environ['MY_VAR']
>> File "/home/USER/anaconda3/lib/python3.6/os.py", line 669, in __getitem__
>> raise KeyError(key) from None
>> KeyError: 'MY_VAR'
4번을 시도해 보세요
참고문헌: [2]
내장myvar.sh
/etc/profile.d/
다음 줄을 추가합니다.
MYVAR=123
구하다. 저장되었는지 확인하세요.
$ python test_script.py
>> File "test-script.py", line 3, in <module>
>> MY_VAR = os.environ['MY_VAR']
>> File "/home/USER/anaconda3/lib/python3.6/os.py", line 669, in __getitem__
>> raise KeyError(key) from None
>> KeyError: 'MY_VAR'
다섯 번째 시도
참고 자료:[2][3]
끝에 /etc/environment
다음 줄을 추가합니다.
MYVAR=123
구하다. 저장되었는지 확인하세요.
$ python test_script.py
>> File "test-script.py", line 3, in <module>
>> MY_VAR = os.environ['MY_VAR']
>> File "/home/USER/anaconda3/lib/python3.6/os.py", line 669, in __getitem__
>> raise KeyError(key) from None
>> KeyError: 'MY_VAR'
도와주세요! 내가 여기서 뭘 잘못하고 있는지 이해가 안 돼요.
답변1
시도 3 또는 4의 방법을 사용해야 하지만 변수 변경 사항을 내보내야 합니다.
MYVAR=123
도착하다
export MYVAR=123