3

我正在使用 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 终端中,我打印了这些变量中的每一个,它们都是正确的。我在这里缺少什么吗?任何帮助深表感谢!

4

3 回答 3

2

如果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')

这在我的情况下有效。希望它也适用于您的情况。

于 2021-01-23T18:03:40.237 回答
1

因此,这是一个问题,即从另一个进程派生的进程继承其环境变量集。在这种情况下,需要重新启动正在使用的启动代码的 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 将是分配给它们的字符串。

于 2020-08-25T00:11:06.763 回答
0

纽比在这里。我重新启动了 VSCode,但它仍然无法正常工作。直到我重新启动 VSCode,并关闭项目文件夹,然后重新打开它。

从此学习https://youtu.be/M576WGiDBdQ?t=14649

于 2021-12-20T21:24:58.160 回答