1

我正在尝试在 VSCode 上的 Brownie 中打开 ERC721 智能合约,并遍历令牌 ID 并设置每次迭代的 URI。我使用 brownie run scripts/parcel_asset/testpyodbc.py 执行脚本。我正在尝试使用名为 pyodbc 的 ODBC 驱动程序来查询 Access 数据库并创建一个游标进行迭代。仅作为 python 脚本运行时它工作正常,但 Brownie 给出错误“ModuleNotFoundError: No module named 'pyodbc'” 有没有办法使用 Brownie 访问他的 odbc?

下面是我得到的错误

\nft> brownie run scripts/parcel_asset/testpyodbc.py
Brownie v1.17.2 - Python development framework for Ethereum
File ".\scripts\parcel_asset\testpyodbc.py", line 1, in <module>
import pyodbc
ModuleNotFoundError: No module named 'pyodbc'
Terminating local RPC client...
PS C:\Users\philk\Dropbox\smartCity\nft\OrlandoMagicOrange\nft> brownie run scripts/parcel_asset/testpyodbc.py
INFO: Could not find files for the given pattern(s).
Brownie v1.17.2 - Python development framework for Ethereum

NftProject is the active project.
import pyodbc
ModuleNotFoundError: No module named 'pyodbc'
Terminating local RPC client...
4

2 回答 2

0

我在 Discord 频道上找到了这个:brownie 已安装到它自己的虚拟环境中,如果您希望其他软件包工作,您必须将它们“注入”到 brownie virtualenv:使用 brownie 时我不能使用外部模块,pip install 不会'不工作布朗尼 ,但完全披露,我尝试了另一个我正在使用的包裹,但无济于事。

pipx injection eth-brownie pyodbc 这解决了问题

于 2022-01-19T19:37:39.703 回答
0

如果您使用 安装了 brownie pipx,则需要将inject外部包添加到您的项目中。

所以而不是

pip install matplotlib

这将是

pipx inject eth-brownie matplotlib

pipx将软件包安装到孤立的虚拟环境中,因此您必须安装到该 brownie 虚拟环境中才能使用其他软件包。

来自 Stack Exchange 以太坊相关

于 2022-01-20T19:37:32.833 回答