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

调试《模拟人生4》Python脚本Mod失败原因及解决方法咨询

《模拟人生4》Python Mod调试失败问题排查与解决建议

问题概述

尝试使用PyCharm Pro的pydevd-pycharm包与调试服务器调试《模拟人生4》Python脚本Mod,按以下步骤操作后无法进入调试状态:

  • 从PyCharm Pro 2022.3.2安装目录复制pydevd-pycharm.egg,将后缀改为.zip
  • 从Python 3.7.0安装目录复制ctypes目录到上述.zip文件中,将压缩包放入游戏Mods目录
  • 在PyCharm中配置调试服务器,编写调试连接命令Mod代码:
import sims4.commands

@sims4.commands.Command('start.debug', command_type=sims4.commands.CommandType.Live)
def startdebugging(_conection=None):
    import pydevd_pycharm
    pydevd_pycharm.settrace('localhost', port=5678, stdoutToServer=True, stderrToServer=True)
  • 将上述代码作为Mod放入Mods目录,启动PyCharm调试服务器后启动游戏,执行start.debug命令无反应,未进入调试状态

可能的失败原因

  1. pydevd-pycharm包完整性破坏:手动修改.egg文件(改zip并添加本地ctypes)会破坏包的原生结构,《模拟人生4》内置Python环境与本地Python 3.7.0存在细微差异,强行插入本地模块会导致导入失败
  2. 端口与网络拦截问题:
    • 未确认5678端口是否被其他程序占用,或PyCharm调试服务器未正确监听该端口
    • 系统防火墙可能拦截了游戏进程向本地调试服务器发起的连接请求
  3. Mod加载与导入异常:
    • 修改后的pydevd-pycharm.zip未被游戏识别为合法Python包,游戏Mod加载机制对包结构有严格要求
    • 执行命令时pydevd_pycharm导入失败,但因调试连接未建立,错误信息无法传递到PyCharm
  4. 代码拼写错误:函数参数_conection拼写错误(应为_connection),可能触发未预期的参数处理异常

修复建议

  1. 获取兼容的pydevd-pycharm包:
    不要手动修改.egg文件,直接在本地Python 3.7.0环境中执行pip install pydevd-pycharm~=223.8617.48(对应PyCharm 2022.3.2的版本号),然后复制安装目录下的pydevd_pycharm文件夹到Mods目录,而非压缩包形式
  2. 检查端口与防火墙配置:
    • 在PyCharm调试服务器配置中确认端口为5678,用netstat -ano | findstr :5678(Windows)或lsof -i :5678(Mac/Linux)检查端口占用情况
    • 临时关闭系统防火墙,或添加游戏进程到防火墙允许列表,确保游戏能连接本地调试服务器
  3. 修复代码并增加错误日志:
    • 修正参数拼写错误:将_conection改为_connection
    • 添加错误捕获与日志输出,便于排查问题:
      import sims4.commands
      import logging
      
      logger = logging.getLogger(__name__)
      
      @sims4.commands.Command('start.debug', command_type=sims4.commands.CommandType.Live)
      def startdebugging(_connection=None):
          try:
              import pydevd_pycharm
              logger.info("Successfully imported pydevd_pycharm")
              pydevd_pycharm.settrace('localhost', port=5678, stdoutToServer=True, stderrToServer=True)
              logger.info("Debug connection initiated")
          except Exception as e:
              logger.error(f"Failed to start debug: {str(e)}", exc_info=True)
      
    • 查看游戏日志(路径:Documents/Electronic Arts/The Sims 4/Logs/ScriptLog.txt),确认是否存在导入或连接错误
  4. 验证Mod加载状态:
    • 在游戏启动器中确认该Mod已启用,且未被标记为不兼容
    • 确保pydevd_pycharm文件夹结构完整,包含__init__.py等必要文件

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 22:20:59