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

含pyautogui的.pyx脚本在Spyder/CMD可运行,批处理文件无法执行

解决.pyx脚本通过批处理运行时的文件找不到问题

你遇到的问题核心是路径中的非ASCII特殊字符(比如你路径里的á)和批处理文件的编码不兼容——Spyder和CMD直接运行时,编码环境能正确识别这些带重音的字符,但批处理默认用ANSI编码,解析不了这些字符就会让py.exe收到乱码路径,最终提示找不到那个「」的文件。

给你几个可行的解决办法,按从易到难的顺序来:

  • 最简单的方案:迁移脚本到无特殊字符的路径
    把proba.pyx和urge.pyx移动到不含非ASCII字符的目录下,比如E:\PythonProjects\gyak\,然后修改批处理文件里的路径为:

    @py.exe E:\PythonProjects\gyak\proba.pyx %*
    

    这种方法完全避开了编码问题,最省心。

  • 修改批处理文件的编码为UTF-8(带BOM)
    用记事本打开你的批处理文件,点击「文件」→「另存为」,在编码下拉框里选择「UTF-8」(注意要选带BOM的版本,部分编辑器会标注为「UTF-8 with BOM」),然后覆盖原文件。这样批处理就能正确解析路径里的特殊字符了。

  • 先切换到脚本目录再运行
    把批处理的内容改成这样,先切换到脚本所在的文件夹,再执行脚本,避免直接传递带特殊字符的长路径:

    @echo off
    cd /d "E:\Anyagok\Programozas\Python\projekts\gyak"
    py.exe proba.pyx %*
    

    这里的cd /d是为了同时切换盘符和目录,确保能正确进入目标文件夹。

  • 指定Python版本运行(备选)
    若你的电脑存在多个Python版本,可能导致py.exe调用出错,试试在批处理里明确指定版本,比如你的Python是3.6,就写成:

    @py.exe -3.6 E:\Anyagok\Programozas\Python\projekts\gyak\proba.pyx %*
    

    不过这个方案更适合版本冲突场景,你的问题大概率还是编码问题,可以作为备选尝试。

你可以先试试前两个方案,应该能快速解决问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:30:01