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

Android Studio中Chaquopy集成pytube遇RegexMatchError的解决咨询

解决Chaquopy集成pytube时的RegexMatchError问题

问题根源

你修改的C:\Users\....\AndroidStudioProjects\YouTubeDownloader\app\build\pip\debug\common\pytube\cipher.py属于构建临时文件,每次执行clean、rebuild或项目同步操作时,Chaquopy会重新从PyPI下载/解压pytube包,覆盖该目录下的内容,所以手动修改后会自动恢复原状。

正确修改方法

方法一:使用本地修改后的pytube包

  1. 下载pytube源码包(或克隆GitHub仓库),找到cipher.py文件完成修改:
    • 原代码:
      var_regex = re.compile(r"^\w+\W")
      
    • 修改为:
      var_regex = re.compile(r"^\$*\w+\W")
      
  2. 将修改后的整个pytube目录(包含__init__.py、cipher.py等所有文件)复制到项目的app/src/main/python目录下(没有则新建该目录)。
  3. 修改app/build.gradle中的Chaquopy配置,指定使用本地pytube包:
    chaquopy {
        defaultConfig {
            pip {
                // 注释掉原有的pytube依赖,改用本地包
                // install "pytube"
                install "--no-deps", "./src/main/python/pytube"
            }
        }
    }
    
  4. 同步项目并重新构建,此时Chaquopy会优先加载你修改后的本地包,不会被覆盖。

方法二:通过Gradle任务自动patch文件

如果不想替换整个包,可通过Gradle任务在构建时自动修改目标文件:

  1. 在app/build.gradle中添加以下任务:
    task patchPytubeCipher {
        doLast {
            def cipherFile = file("build/pip/debug/common/pytube/cipher.py")
            if (cipherFile.exists()) {
                def content = cipherFile.text
                def newContent = content.replaceAll(/var_regex = re.compile\(r"^\w\+\\W"\)/, 'var_regex = re.compile(r"^\\$*\\w+\\W")')
                cipherFile.write(newContent)
            }
        }
    }
    // 绑定任务到pip安装步骤之后
    afterEvaluate {
        tasks.findByName("pipInstallDebug").finalizedBy(patchPytubeCipher)
    }
    
  2. 同步项目后,每次构建时Gradle会自动在pip安装完成后修改cipher.py,无需手动操作。

Android Studio中Python模块的存放说明

  • 临时构建目录:app/build/pip/[debug/release]/common/:构建时临时生成,每次构建会刷新,禁止直接修改。
  • 本地自定义模块目录:app/src/main/python/:存放自定义或修改后的第三方包,Chaquopy会优先加载此目录下的模块。
  • 全局缓存目录:C:\Users\<你的用户名>\.chaquopy\cache\pip:Chaquopy下载的包缓存位置,修改会影响所有Chaquopy项目,不推荐。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 10:00:00