Han*_*nal 10 python environment-variables tweepy twitterapi-python
我正在关注使用 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")
Run Code Online (Sandbox Code Playgroud)
在 Windows 终端中,我打印了每个变量,它们都是正确的。我在这里缺少什么吗?任何帮助深表感谢!
小智 6
因此,这是一个问题,因为从另一个进程派生的进程会继承其环境变量集。在这种情况下,需要重新启动正在使用的启动代码的 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"}
},
Run Code Online (Sandbox Code Playgroud)
在本例中,VAR_NAME 和 VAR_NAME2 是环境变量名称。VAR_VALUE 和 VAR_VALUE2 将是分配给它们的字符串。
小智 6
如果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')
Run Code Online (Sandbox Code Playgroud)
这对我来说有效。希望它也适用于你的情况。
| 归档时间: |
|
| 查看次数: |
13941 次 |
| 最近记录: |