Web3.py - 即使安装了 web3,也无法导入“web3”

Posted

技术标签:

【中文标题】Web3.py - 即使安装了 web3,也无法导入“web3”【英文标题】:Web3.py - Unable to import 'web3' even though web3 is installed 【发布时间】:2021-07-28 12:24:23 【问题描述】:

我今天通过pip install web3 安装了web3,从那以后我一直尝试将import web3 安装到当前的工作文件中,但没有任何成功。

无论我做什么,我都会收到“无法导入 'web3'。

pip 列表找到 web3 (web3 5.19.0)。

文件中的代码:

import web3

from web3 import Web3, HTTPProvider, TestRPCProvider

infura_url = 'URL'
web3 = Web3(Web3.HTTPProvider(infura_url))

isConnected = web3.isConnected()
blocknumber = web3.eth.blockNumber

更新

我知道出了什么问题,pip 在C:\Users\USER\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages 中安装包,而python 正在寻找C:\Users\USER\AppData\Roaming\Python\Python39 中的包

【问题讨论】:

欢迎来到 SO。你用的是什么python版本?你是如何运行你的脚本的?您的错误的可能原因是您使用的 python 版本与 pip 的版本不同。 我使用的是 Python 3.9.4。我什至没有运行脚本,我只是将互联网上的教程中的上述内容粘贴到 name.py 文件到 VSC 中,并立即在“import”和“from”下显示错误。 pip是什么版本? 根据 pip --version 的 Pip 版本 21.1.1 您的系统上是否安装了其他版本的python? 【参考方案1】:

您不需要第一次导入,它会影响您的代码,因为您的变量名为 web3,只需删除

导入 web3

它应该可以工作

【讨论】:

【参考方案2】:

pip list 显示的是web3库,后来发现是vs code python编辑器的问题。无论编辑器错误消息如何,都运行以下代码 如果运行成功

from web3 import Web3
print(Web3)

它会给出输出

<class 'web3.main.Web3'>

这意味着它有一些 vs code python 编辑器问题,但您可以忽略警告并使用 web3 进行编码

【讨论】:

【参考方案3】:

您不需要第一次导入,它会影响您的代码,因为您是名为 web3 的变量,只需删除

import web3

对于 webSocket 使用它:

Web3(Web3.WebsocketProvider(infura_url))

对于 http 使用它:

Web3(Web3.HTTPProvider(infura_url))

【讨论】:

【参考方案4】:

这是 Visual Studio Code 的问题。 我尝试用 PyCharm 打开代码,它工作正常。

【讨论】:

【参考方案5】:

你必须安装visual c ++ build tools // 用c ++ 进行桌面开发 // 然后你在控制台中安装web3,它不会给你报错

https://visualstudio.microsoft.com/visual-cpp-build-tools/

【讨论】:

【参考方案6】:

这听起来像是您的本地版本的问题。我会尝试退出应用并重试。

【讨论】:

您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。

以上是关于Web3.py - 即使安装了 web3,也无法导入“web3”的主要内容,如果未能解决你的问题,请参考以下文章

安装 web3.py 时如何消除错误

PIP 安装 web3

安装 web3.py 时出错。 “python setup.py egg_info”

带有测试网的 web3.py isConnected() 函数

web3.py 安装以及主币查询 - bsc链

如何“捕捉 web3.py 中的错误”