ImportError: cannot import name 'SimpleCollectible' from 'brownie'
ImportError: cannot import name 'SimpleCollectible' from 'brownie'
使用 brownie 实现 flask,在按下按钮时自动执行代码 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)
查看文档,您将找到可用的导入。
SimpleCollectible
确实不存在于基础模块中
https://eth-brownie.readthedocs.io/en/stable/api-brownie.html#brownie
我通过执行以下操作设法解决了这个问题:
在我的 Flask 应用程序中,我添加了:
os.system("brownie run scripts/simple_collectible/create_collectible.py --network rinkeby")
在我的@app.route 下烧瓶上。
问题是代码是 运行 在 python CLI 上,而不是在 Brownie CLI 中。
这可能不是最好的方法,但它确实有效。谢谢
删除文件SimpleCollectible.sol
(我说的不是代码,是文件)
然后用相关代码重新创建它。
对您收到的错误的解释是,如果您 运行 直接使用 vs 代码的脚本,brownie 看不到合同,您应该 运行 从终端使用命令 'brownie run create_collectible'
将拼写更改为“SimpleCollectable”并安装“brownie pm install OpenZeppelin/openzeppelin-contracts@3.0.0”。
使用 brownie 实现 flask,在按下按钮时自动执行代码 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)
查看文档,您将找到可用的导入。
SimpleCollectible
确实不存在于基础模块中
https://eth-brownie.readthedocs.io/en/stable/api-brownie.html#brownie
我通过执行以下操作设法解决了这个问题:
在我的 Flask 应用程序中,我添加了:
os.system("brownie run scripts/simple_collectible/create_collectible.py --network rinkeby")
在我的@app.route 下烧瓶上。
问题是代码是 运行 在 python CLI 上,而不是在 Brownie CLI 中。
这可能不是最好的方法,但它确实有效。谢谢
删除文件SimpleCollectible.sol
(我说的不是代码,是文件)
然后用相关代码重新创建它。
对您收到的错误的解释是,如果您 运行 直接使用 vs 代码的脚本,brownie 看不到合同,您应该 运行 从终端使用命令 'brownie run create_collectible'
将拼写更改为“SimpleCollectable”并安装“brownie pm install OpenZeppelin/openzeppelin-contracts@3.0.0”。