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

Mac终端运行Python报'module' object is not callable如何解决

错误1:TypeError: 'module' object is not callable

成因

导入语句import pathlib as Path是将pathlib整个模块起别名为Path,后续代码中直接写Path('xxx')本质是尝试调用模块对象,而模块本身不可调用,因此抛出类型错误。Path是pathlib模块下提供的路径类,并非模块本身。

修复方案

二选一即可:

  • 直接导入模块下的Path类,是最常用的写法:
from pathlib import Path
mypath = Path('users/pranav/Desktop/sir/samplenames.txt')
  • 保留导入整个模块的写法,调用时明确指定类:
import pathlib
mypath = pathlib.Path('users/pranav/Desktop/sir/samplenames.txt')
错误2:AttributeError: 'list' object has no attribute 'dirname'

成因

sys.path是Python存储模块搜索路径的列表类型对象,本身不存在dirname()方法,属于概念混淆:dirname()是路径处理方法,归属于os.path等路径处理模块,和sys.path这个列表没有关联。

修复方案

根据排查需求选对应写法:

  • 仅需查看Python模块搜索路径列表,直接打印对象即可:
import sys
print(sys.path)
  • 若要获取某路径的上级目录,需搭配os.path.dirname()使用,例如获取Python解释器所在目录:
import sys
import os
print(os.path.dirname(sys.executable))
可运行的完整修正代码

额外注意:macOS系统标准用户目录首字母为大写,即路径应为/Users/xxx而非/users/xxx,如果后续报文件不存在可优先检查路径大小写问题。

from pathlib import Path
mypath = Path('/Users/pranav/Desktop/sir/samplenames.txt')
# 可通过exists方法验证路径是否有效
print(mypath.exists())

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 19:18:21