Windows 系统 Pycharm 运行报错 Please ensure that the environment variable WEB3_INFURA_API_KEY is set.

from web3.auto.infura import w3
print(w3.isConnected())

上述代码调用web3.py尝试连接以太坊时(需要在infura进行注册,创建project得到ID和key)

出现了标题的报错

web3py的官方文档中要求设置环境变量WEB3_INFURA_API_SECRET

If you have checked the box in the Infura UI indicating that requests need an optional secret key, set the environment variable WEB3_INFURA_API_SECRET:

$ export WEB3_INFURA_API_SECRET=YourSecretKey

debug 后发现抛出异常的位置:

def load_api_key():
    # at web3py v5, drop old variable name INFURA_API_KEY
    key = os.environ.get(
        'WEB3_INFURA_API_KEY',
        os.environ.get('INFURA_API_KEY', '')
    )

    if key == '':
        raise InfuraKeyNotFound(
            "No Infura Project ID found. Please ensure "
            "that the environment variable WEB3_INFURA_API_KEY is set."
        )
    return key

 说明需要设置 os.environ

windows不能通过export 设置环境变量,尝试使用set设置也不管用。

查找后发现,在pycharm的setting 中设置可以解决问题。

Windows 系统 Pycharm 运行报错 Please ensure that the environment variable WEB3_INFURA_API_KEY is set._第1张图片

你可能感兴趣的:(Windows 系统 Pycharm 运行报错 Please ensure that the environment variable WEB3_INFURA_API_KEY is set.)