无法通过chaquopy将python包“lmdb”安装到android studio项目

i1icjdpr  于 2023-03-21  发布在  Android
关注(0)|答案(1)|浏览(247)

我很快总结一下我所得到的帮助,并感谢任何帮助。我真的被困在这个问题上...也请给予我一个提示,如果我没有提供足够的信息来回答这个问题,因为我是新来的:)
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
    }
}
lmvvr0a8

lmvvr0a81#

要在Android上安装包含C组件的软件包,需要构建一个Android兼容的wheel,具体操作说明如下:here
在Chaquopy问题跟踪器上也有一个existing entry for lmdb,这将是任何进一步讨论的最佳位置。

相关问题