You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu下运行Brownie部署脚本报ModuleNotFoundError求助

问题描述

在Ubuntu系统中执行brownie run scripts/deploy.py命令部署代码时,出现以下错误:

brownie run scripts/deploy.py
Brownie v1.19.2 - Python development framework for Ethereum

BrownieSimpleStorageProject is the active project.

Launching 'ganache-cli --port 8545 --gasLimit 12000000 --accounts 10 --hardfork istanbul --mnemonic brownie'...
  File "brownie/_cli/run.py", line 51, in main
    return_value, frame = run(
  File "brownie/project/scripts.py", line 60, in run
    module = _import_from_path(script)
  File "brownie/project/scripts.py", line 156, in _import_from_path
    _import_cache[import_str] = importlib.import_module(import_str)
  File "/usr/lib/python3.8/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen, line line, in in
  File "<frozen, line line, in in
  File "<frozen, line line, in in
  File "<frozen, line line, in in
  File "<frozen, line line, in in
  File "<frozen, line line, in in
  File "<frozen, line line, in in
  File "<frozen, line line, in in
  File "<frozen, line line, in in
  File "<frozen, line line, in in
  File "<frozen, line line, in in
ModuleNotFoundError: No module named 'mnt.c.users'
Terminating local RPC client...

需要解决该错误并正常运行Brownie,同时明确:Brownie安装后是否无需激活虚拟环境即可使用?并排查安装问题。


解决方案与排查步骤

1. 解决ModuleNotFoundError: No module named 'mnt.c.users'错误

这个错误是因为Brownie将Windows风格的路径(如C:\Users\...)误解析为Python模块名,通常发生在项目位于WSL挂载的Windows分区(如/mnt/c)时,路径结构被当成了模块层级。

解决方法:

  • 将项目迁移到Ubuntu本地路径,比如~/projects/BrownieSimpleStorageProject,避免放在/mnt下的Windows挂载分区
  • 若必须使用挂载路径,确保路径全用正斜杠,且避免路径中出现类似c.users这种会被识别为模块结构的命名
  • 检查deploy.py脚本,确认没有误写Windows路径格式的导入语句

2. Brownie与虚拟环境的使用规则

Brownie是否需要激活虚拟环境分两种情况:

  • 全局安装:直接用pip install eth-brownie安装(不加--user或虚拟环境),无需激活虚拟环境即可使用,但会和系统全局Python包产生冲突,不推荐
  • 虚拟环境安装:在venv/conda等虚拟环境中安装后,必须激活对应虚拟环境才能使用Brownie,因为其可执行文件和依赖包都存放在虚拟环境目录内

推荐始终使用虚拟环境安装Brownie,避免依赖版本冲突。

3. 全面排查Brownie安装问题

如果错误持续,按以下步骤逐一排查:

  • 验证Brownie安装状态:执行brownie --version,能正常输出版本号(如v1.19.2)则说明安装成功
  • 核对Python环境一致性:执行which brownie和which python,确认两者路径属于同一环境(虚拟环境下路径应指向虚拟环境的bin目录)
  • 重新安装Brownie:先卸载pip uninstall eth-brownie,再在干净的虚拟环境中重新安装pip install eth-brownie
  • 检查Ganache-cli:执行ganache-cli --version,若未安装则用npm install -g ganache-cli安装(需先安装Node.js)
  • 清理Brownie缓存:删除项目目录下的.brownie文件夹,再重新运行部署命令

内容的提问来源于stack exchange,提问作者Greg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 18:25:38