我在构建.gradle文件中使用charset-normalizer 3.0.0版本而不是3.2.0版本,可以避免在Android Studio中出现与aiohttp相关的库错误吗?

我使用chaquopy将Python集成到Android中。我正在制作一个相当简单的应用程序,使用了openai和webvtt库;因此,我的src/main/script.py文件开头包含了“import openai”和“import webvtt”。我的build.gradle文件中也包含以下代码块:

android {    namespace 'com.example.python_integration'    compileSdk 33    defaultConfig {        python{            pip{                install "numpy"            }        }        python{             pip{                install "openai"            }        }        python{            pip{                install "tk"            }        }        python{            pip{                install "webvtt_py"            }        }

当我在模拟器中运行应用程序时,会收到警告:“aiohttp 3.8.1需要charset-normalizer<3.0,>=2.0,但你使用的是charset-normalizer 3.2.0,这是不兼容的。”

我尝试在gradle中添加以下实现:

implementation ‘com.github.Ousret:charset_normalizer:3.0.0’

以及尝试

implementation ‘com.github.mizosoft.charset-normalizer:charset-normalizer:3.0.0’

但我仍然收到错误/警告。这个警告重要吗?我是否需要添加另一段代码块,以便gradle使用之前的charset-normalizer版本?应用程序仍然可以运行,但我还在编辑我的script.py,所以我无法判断这是否是一个关键错误,目前我只是确保我可以让原始Python脚本中需要的所有库正常工作。有时我在模拟器中构建应用程序时,甚至不会在构建日志中看到这个错误,所以它随机出现让我感到有些沮丧。也许我完全误解了情况?


回答:

这个警告是否关键,取决于你的应用程序的功能。但你可以通过直接添加指定版本的要求来解决这个问题:

install "charset-normalizer<3.0,>=2.0"

你每次构建应用程序时都不会看到警告的原因是,只有当你更改pip代码块或其他相关设置(如Python版本)时,pip才会重新运行。

附加说明:

  • 你可以在python { pip }代码块中包含多个install行,因此你不需要多次复制整个代码块。
  • Gradle的dependencies代码块与你的Python需求完全独立,因此不必编辑它。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注