所有Python版本均已安装Pandas,但游戏调用时提示模块找不到
解决游戏加载模组时的Python依赖缺失问题
核心原因
游戏加载模组时调用的Python解释器,和你终端、PyCharm中使用的并非同一环境。M1 Mac存在arm64/x86_64双架构的Python环境,Steam运行的游戏大概率默认调用x86_64版本的Python,而你安装依赖时可能仅部署在了arm64版本环境中。
解决方案
1. 确认游戏实际使用的Python路径
- 终端执行以下命令,列出所有Python解释器路径:
which -a python python3 python3.9 python3.10 - 在
agent.py开头添加以下代码,触发游戏加载后查看输出的Python路径:
输出的路径即为游戏实际调用的Python解释器位置。import sys print("Python executable path:", sys.executable) sys.exit()
2. 给目标Python环境安装依赖
假设查到的路径为/usr/bin/python3,直接用该路径的pip安装依赖:
/usr/bin/python3 -m pip install pandas joblib
若为Rosetta运行的x86_64架构Python,需添加arch -x86_64前缀:
arch -x86_64 /usr/bin/python3 -m pip install pandas joblib
3. 强制模组使用指定Python环境
若CommunicationMod支持自定义Python路径,修改模组配置文件,指定已安装好依赖的Python解释器路径(比如PyCharm项目虚拟环境中的Python路径)。
4. 校验setup.py配置
确保setup.py的install_requires字段正确声明依赖:
setup( # 其他配置项 install_requires=[ 'pandas>=2.0', 'joblib>=1.3' ] )
之后重新安装项目:
pip install -e .
额外提示
M1 Mac的Python环境易混淆,建议用虚拟环境隔离项目依赖:
- 创建虚拟环境:
python3 -m venv spirecomm-env - 激活虚拟环境:
source spirecomm-env/bin/activate - 安装所有依赖:
pip install pandas joblib -e . - 确保游戏模组调用该虚拟环境内的Python解释器。
内容的提问来源于stack exchange,提问作者frostedflakes37
相关产品推荐
相关产品推荐

