我很快总结一下我所得到的帮助,并感谢任何帮助。我真的被困在这个问题上...也请给予我一个提示,如果我没有提供足够的信息来回答这个问题,因为我是新来的:)
python软件包“lmdb”部分是用python和C编写的(参见here)。因为这个软件包不仅仅是用python编写的,所以在用pip安装时需要一个windows c++编译器。或者可以通过wheel文件安装(参见here)。据我所知,在chaquopy中没有给出通过conda安装的可能性。
对我来说,使用wheel安装并不成功。(this i the file I used构建/同步项目运行良好,运行应用程序在安装'lmdb'时在构建输出中创建错误。这是我得到的错误:
ModuleNotFoundError: No module named 'patch_ng'
我另外安装了patch-ng(link),并创建了一个名为patch_ng的包,其中只包含patch_ng.py文件,但仍然得到相同的错误。
以下是应用程序级别的build.gradle文件中的代码:
android {
compileSdk 32
defaultConfig {
applicationId "<name>"
minSdk 21
targetSdk 32
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
ndk {
abiFilters "armeabi-v7a", "arm64-v8a", "x86", "x86_64"
}
python {
version "3.8"
buildPython "<path_to_anaconda>\\anaconda3\\python.exe"
pip{
// install "patch-ng"
// install ".\\src\\main\\python\\patch_ng"
// BOTH FOLLOWING LINES DID NOT WORK FOR ME ( TRIED ONE AFTER THE OTHER)
install "lmdb"
install "libs\\lmdb-1.3.0-cp310-cp310-win_amd64.whl"
}
pip {
install "scipy"
install "requests==2.24.0"
install "numpy"
install "pandas"
//install "paddleocr"
}
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
1条答案
按热度按时间lmvvr0a81#
要在Android上安装包含C组件的软件包,需要构建一个Android兼容的wheel,具体操作说明如下:here。
在Chaquopy问题跟踪器上也有一个existing entry for lmdb,这将是任何进一步讨论的最佳位置。