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

已安装phonenumbers模块但运行脚本仍报ModuleNotFoundError

问题描述

执行安装命令:

pip3 install phonenumbers

得到的反馈为:

Successfully installed phonenumber-8.13.14
# 或
Requirement already satisfied: phonenumbers in /usr/local/lib/python3.11/site-packages (8.13.14)

但运行任何包含phonenumbers模块的.sh或.py文件时,都会抛出错误:

ModuleNotFoundError: No module named 'phonenumbers'

该问题在Mac终端和Windows环境下均出现。

补充说明:测试用的Python代码中包含import phonenumbers及相关子模块导入语句。

解决方法

1. 核对Python解释器与pip的版本匹配

  • 查看pip3对应的Python版本:
    pip3 --version
    
  • 查看运行脚本时使用的Python版本:
    python3 --version
    

若两个版本不一致,说明模块安装到了另一个Python环境中,需使用对应版本的pip重新安装,示例命令:

python3.11 -m pip install phonenumbers

(将3.11替换为你实际的Python版本号)

2. 检查虚拟环境是否激活

如果脚本运行在虚拟环境中,但模块安装在了全局Python环境,需先激活对应的虚拟环境,再重新安装模块:

# Mac/Linux系统激活虚拟环境(以venv为例)
source venv/bin/activate
# Windows系统激活虚拟环境
.\venv\Scripts\activate

# 激活后重新安装模块
pip install phonenumbers

3. 手动添加模块路径(临时修复)

若确认模块已安装但无法被Python找到,可在脚本开头手动添加模块所在的site-packages路径:

import sys
# 替换为你实际的模块安装路径,可从pip反馈中获取
sys.path.append("/usr/local/lib/python3.11/site-packages")
import phonenumbers

4. 修正脚本的shebang行

脚本开头的#!/usr/bin/python3可能指向了未安装模块的Python解释器,可修改为:

#!/usr/bin/env python3

让系统自动查找当前环境中已安装模块的Python解释器。


内容的提问来源于stack exchange,提问作者JungleJim'68

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 21:25:03