python - ImportError:无法从“brownie”导入名称“SimpleCollectible”
问题描述
用 brownie 实现烧瓶,在点击按钮时自动执行代码 create_collectible。导入简单收藏品来自本教程:
链接:
- https://www.youtube.com/watch?v=sOVxkPvAHjI&t=776s
- https://flask.palletsprojects.com/en/2.0.x/tutorial/views/
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/flask/cli.py", line 256, in locate_app
__import__(module_name)
File "/Users/work/Documents/OpenvinoNFT/app/api/api.py", line 2, in <module>
from create_collectible import main, nftcode
File "/Users/work/Documents/OpenvinoNFT/app/api/create_collectible.py", line 4, in <module>
from brownie import SimpleCollectible, account, network, config
ImportError: cannot import name 'SimpleCollectible' from 'brownie' (/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/brownie/__init__.py)
Traceback (most recent call last)
File "/Users/work/Documents/OpenvinoNFT/app/api/api.py", line 2, in <module>
from create_collectible import main, nftcode
File "/Users/work/Documents/OpenvinoNFT/app/api/create_collectible.py", line 4, in <module>
from brownie import SimpleCollectible, account, network, config
During handling of the above exception, another exception occurred:
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/flask/cli.py", line 359, in __call__
rv = self._load_unlocked()
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/flask/cli.py", line 346, in _load_unlocked
self._app = rv = self.loader()
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/flask/cli.py", line 402, in load_app
app = locate_app(self, import_name, name)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/flask/cli.py", line 261, in locate_app
raise NoAppException(
flask.cli.NoAppException: While importing 'api', an ImportError was raised:
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/flask/cli.py", line 256, in locate_app
__import__(module_name)
File "/Users/work/Documents/OpenvinoNFT/app/api/api.py", line 2, in <module>
from create_collectible import main, nftcode
File "/Users/work/Documents/OpenvinoNFT/app/api/create_collectible.py", line 4, in <module>
from brownie import SimpleCollectible, account, network, config
ImportError: cannot import name 'SimpleCollectible' from 'brownie' (/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/brownie/__init__.py)
解决方案
我设法通过执行以下操作解决了这个问题:
在我的烧瓶应用程序中,我添加了:
os.system("brownie run scripts/simple_collectible/create_collectible.py --network rinkeby")
在我烧瓶上的@app.route 下。
问题是代码在 python CLI 上运行,而不是在 Brownie CLI 中运行。
这可能不是最好的方法,但它确实有效。谢谢
推荐阅读
- graphql - 我可以将 useSWR 与 apollo-client 一起使用吗?
- angular - 我如何将代码 html 转换为文本并将其保存在关系 Bd 中
- php - 复选框值 id 没有得到
- android - 应用程序启动后加载 Koin 模块 - 运行时异常
- python - 使用 functools.partial 的 Python 装饰器。“func”从何而来?
- c# - 使用 Aspose.PDF 在 PDF 中查找形状
- mapbox - 有没有办法使 Mapbox 弹出窗口可调整大小?
- vb.net - 如果我们只想为 64 位计算机编写代码,在 vb.net 中使用整数而不是长整数有什么好处吗?
- python - 如何实现一个函数来有效地遍历给定的数据结构?
- python - 为什么我在 Python Tkinter 中遇到 int 错误