PyCharm运行模块正常,控制台执行报TypeError问题求助
问题解决方法
你遇到的矛盾现象(PyCharm运行正常,外部控制台参数报错),核心原因是外部控制台加载的run模块不是你当前编辑的最新版本:
- 你在PyCharm里看到的
get_steady_state是7参数的最新定义,但外部控制台加载的是旧版本的模块,这个旧版本的函数只有0-4个参数,所以传7个位置参数会报错; - 改用关键字参数时,旧版本函数根本没有
mn这个参数,所以会提示“意外的关键字参数”。
具体修复步骤:
定位外部控制台加载的模块路径
在外部控制台执行以下代码,查看run模块的实际位置:import run print(run.__file__)对比PyCharm中运行同样代码的输出,两者路径必然不同。
清理旧模块并指定正确路径
- 如果外部加载的是Python全局站点包(site-packages)里的旧版本,先卸载旧包:
pip uninstall [你的包名称] - 删除当前项目目录下的
__pycache__文件夹和所有.pyc文件(这些是Python生成的缓存文件,会优先加载); - 运行脚本前,把项目根目录加入Python的搜索路径,确保优先加载本地最新代码:
# Windows CMD set PYTHONPATH=你的项目根目录路径;%PYTHONPATH% python 你的脚本文件名.py # Windows Powershell $env:PYTHONPATH = "你的项目根目录路径;" + $env:PYTHONPATH python 你的脚本文件名.py
- 如果外部加载的是Python全局站点包(site-packages)里的旧版本,先卸载旧包:
验证修复结果
重新在外部控制台运行脚本,或者执行以下代码查看函数参数是否和你编辑的一致:import run print(run.get_steady_state.__code__.co_varnames)输出应该是
('wwtp', 'target_SRT', 'verbose', 'diagnose', 'mn', 'fDO', 'DOsat'),说明加载了正确的模块。
内容的提问来源于stack exchange,提问作者Hossein Karimi
相关产品推荐
相关产品推荐

