0

인증 토큰이 있습니다. Windows 10에서 시스템 변수로 저장하려고하는데 'SLACK_BOT_USER_TOKEN'이라는 새 사용자 변수를 만들려고했습니다. 없음 ':'내 (예상) PATH 및 반환인증 토큰을 파이썬에서 시스템 변수로 저장하려고 시도했지만 인쇄시 없음을 반환합니다.

import os 

print(os.getenv('PATH')) 
print(os.getenv('SLACK_BOT_USER_TOKEN')) 

을 같은 이름으로 새 시스템 변수는 파이썬 3.6에서이 코드를 실행 한 후 내 인증 코드 값을 설정하고 '. 내가 만든 새로운 변수를 인식하지 못하는 이유는 무엇입니까? PowerShell을 사용하여 스크립트를 관리자로 실행하고 있습니다.

답변

1

CMD 및 PowerShell과 같은 프로세스는 시작될 때 환경 복사본을 가져옵니다. 이 복사본은 원래 환경 변수를 수정할 때 업데이트되지 않습니다. 시스템 설정에서 변수를 수정하는 것 외에도 업데이트 된 값을 가져 오거나 복사 된 변수를 수정하려면 프로세스를 다시 시작해야합니다.

데모 : 변수가 GUI 환경 변수 편집기를 통해 설정됩니다

 
PS C:\>echo $env:FOO 
PS C:\>python 
Python 3.3.2 (v3.3.2:d047928ae3f6, May 16 2013, 00:03:43) [MSC v.1600 32 bit (Intel)] on win32 
Type "help", "copyright", "credits" or "license" for more information. 
>>>import os 
>>>print(os.getenv('FOO')) 
None 
>>>exit() 
PS C:\>$env:FOO = 'bar' 
PS C:\>echo $env:FOO 
bar 
PS C:\>python 
Python 3.3.2 (v3.3.2:d047928ae3f6, May 16 2013, 00:03:43) [MSC v.1600 32 bit (Intel)] on win32 
Type "help", "copyright", "credits" or "license" for more information. 
>>>import os 
>>>print(os.getenv('FOO')) 
bar 
0

정말 바보 같은 해결책입니다. 컴퓨터를 재부팅해야했습니다. 주님, 도와주세요.

+0

경우, Explorer의 환경이 이미 업데이트해야합니다. 시스템을 재부팅하지 않아도됩니다. 그러나 업데이트 된 환경을 보려면 Explorer에서 Python (또는 cmd/PowerShell 및 Python)을 다시 시작해야합니다. – eryksun

+0

알았어, 아마도 쉘을 재부팅 할 필요가 있었을 것이다. 설명 주셔서 감사합니다! – Cdhippen