我正在学习使用 Twippy 库和 Twitter API 的 Twitter 机器人教程:https://realpython.com/twitter-bot-python-tweepy/
我设置了 config.py 文件,并将 Windows 环境变量设置为带有所有令牌的用户变量。但是当我运行我的文件时,它会给出一个错误,因为检索我的令牌时 os.getenv() 是 None
consumer_key = os.getenv("CONSUMER_KEY")
consumer_secret = os.getenv("CONSUMER_SECRET")
access_token = os.getenv("ACCESS_TOKEN")
access_token_secret = os.getenv("ACCESS_TOKEN_SECRET")
在 Windows 终端中,我打印了每个变量,它们是正确的。我在这里缺少什么吗?非常感谢任何帮助!
因此,这是一个问题,因为从另一个进程派生的进程会继承其环境变量集。在这种情况下,需要重新启动正在使用的启动代码的 IDE。 VS Code 的另一种选择是使用指定的环境启动项目。这可以通过将 env 选项添加到启动配置来完成:
{
"name": "Python: Current File (Integrated Terminal)",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal"
"env": {"VAR_NAME": "VAR_VALUE"
"VAR_NAME2": "VAR_VALUE2"}
},
在本例中,VAR_NAME 和 VAR_NAME2 是环境变量名称。 VAR_VALUE 和 VAR_VALUE2 将是分配给它们的字符串。
如果
os.getenv()
不起作用,您可以使用解耦。只需执行 pip install python-decouple
,然后在代码中执行 from decouple import config
,然后您就可以执行以下操作:
consumer_key = config('CONSUMER_KEY')
consumer_secret = config('CONSUMER_SECRET')
access_token = config('ACCESS_TOKEN')
access_token_secret = config('ACCESS_TOKEN_SECRET')
这对我来说很有效。希望它也适用于您的情况。
纽比在这里。我重启了VSCode,还是不行。直到我重新启动 VSCode,并关闭项目文件夹,然后重新打开它。
我遇到了完全相同的问题,重新启动计算机解决了问题
对于大多数IDE,设置新的环境变量后需要重新启动(在Windows操作系统中)