关于手机端AidLux安装并运行虚拟环境的方式

Miniconda 官方预编译包缺少 aarch64 安卓 ARM 适配,AidLux 容器跑不起来;

Miniforge3 = conda-forge 官方完整发行版,自带 conda-forge 源、原生支持 Linux-aarch64,是手机 AidLux 稳定替代方案。

一、前置准备(AidLux 终端内执行)

打开 AidLux 内置 Terminal,先装下载工具依赖

sudo apt update
sudo apt install wget curl -y

二、一键下载 ARM64 专用 Miniforge 安装脚本

AidLux 容器架构是 aarch64,必须下载 Miniforge3-Linux-aarch64.sh

# 官方github原链接(网络差会超时,请自行科学上网)
wget https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-aarch64.sh

三、静默安装(手机不弹窗、适配容器权限)

# -b 静默无交互,-p 指定安装到家目录,避免权限报错
bash Miniforge3-Linux-aarch64.sh -b -p ~/miniforge3

四、初始化 conda,写入 shell 环境变量

1. 临时生效(当前终端)

export PATH="$HOME/miniforge3/bin:$PATH"

2. 永久生效(重启终端自动加载 base)

conda init bash
# 重载配置
source ~/.bashrc

五、验证安装成功

conda --version
python --version

六、AidLux 终端创建 3.13.13 虚拟环境命令

先确保你已经装好 Miniforge3 并初始化 conda:

# 示例中创建名为 py313 的虚拟环境,锁定3.13.13版本
conda create -n py313 python=3.13.13 -y

七、查看当前 conda 环境、已安装包

# 当前激活环境
conda info --envs
# 查看这个环境里所有安装包
conda list

手机上查看结果:

conda init会报错

aidlux@localhost:~$ conda init                                                                                                                                                                                                                                    
                                                              
# >>>>>>>>>>>>>>>>>>>>>> ERROR REPORT <<<<<<<<<<<<<<<<<<<<<<

    Traceback (most recent call last):
      File "/home/aidlux/miniforge3/lib/python3.13/site-packages/conda/exception_handler.py", line 30, in __call__
        return func(*args, **kwargs)
      File "/home/aidlux/miniforge3/lib/python3.13/site-packages/conda/cli/main.py", line 62, in main_subshell
        exit_code = do_call(args, parser)
      File "/home/aidlux/miniforge3/lib/python3.13/site-packages/conda/cli/conda_argparse.py", line 189, in do_call
        result = getattr(module, func_name)(args, parser)
      File "/home/aidlux/miniforge3/lib/python3.13/site-packages/conda/cli/main_init.py", line 183, in execute
        return initialize(
            context.conda_prefix,
        ...<4 lines>...
            args.reverse,
        )
      File "/home/aidlux/miniforge3/lib/python3.13/site-packages/conda/core/initialize.py", line 143, in initialize
        run_plan(plan2)
        ~~~~~~~~^^^^^^^
      File "/home/aidlux/miniforge3/lib/python3.13/site-packages/conda/core/initialize.py", line 1002, in run_plan
        result = globals()[step["function"]](
            *step.get("args", ()), **step.get("kwargs", {})
        )
      File "/home/aidlux/miniforge3/lib/python3.13/site-packages/conda/core/initialize.py", line 1775, in init_sh_user
        rc_content = fh.read()
      File "<frozen codecs>", line 325, in decode
    UnicodeDecodeError: 'utf-8' codec can't decode byte 0x85 in position 14219: invalid start byte

`$ /home/aidlux/miniforge3/bin/conda init`

  environment variables:
            BOOTCLASSPATH=/apex/com.android.runtime/javalib/core-
                          oj.jar:/apex/com.android.runtime/javalib/core-libart.jar:/apex/com.and
                          roid.runtime/javalib/okhttp.jar:/apex/com.android.runtime/javalib/boun
                          cycastle.jar:/apex/com.android.runtime/javalib/apache-xml.jar:/system/
                          framework/framework.jar:/system/framework/ext.jar:/system/framework/te
                          lephony-common.jar:/system/framework/voip-
                          common.jar:/system/framework/ims-common.jar:/system/framework/android.
                          test.base.jar:/system/framework/tcmiface.jar:/system/framework/telepho
                          ny-ext.jar:/system/framework/qcom.fmradio.jar:/system/framework/com.nx
                          p.nfc.nq.jar:/system/framework/QPerformance.jar:/system/framework/UxPe
                          rformance.jar:/system/framework/WfdCommon.jar:/apex/com.android.conscr
                          ypt/javalib/conscrypt.jar:/apex/com.android.media/javalib/updatable-
                          media.jar
                 CIO_TEST=<not set>
               CONDA_ROOT=/home/aidlux/miniforge3
           CURL_CA_BUNDLE=<not set>
     DEX2OATBOOTCLASSPATH=/apex/com.android.runtime/javalib/core-
                          oj.jar:/apex/com.android.runtime/javalib/core-libart.jar:/apex/com.and
                          roid.runtime/javalib/okhttp.jar:/apex/com.android.runtime/javalib/boun
                          cycastle.jar:/apex/com.android.runtime/javalib/apache-xml.jar:/system/
                          framework/framework.jar:/system/framework/ext.jar:/system/framework/te
                          lephony-common.jar:/system/framework/voip-
                          common.jar:/system/framework/ims-common.jar:/system/framework/android.
                          test.base.jar:/system/framework/tcmiface.jar:/system/framework/telepho
                          ny-ext.jar:/system/framework/qcom.fmradio.jar:/system/framework/com.nx
                          p.nfc.nq.jar:/system/framework/QPerformance.jar:/system/framework/UxPe
                          rformance.jar:/system/framework/WfdCommon.jar
               LD_PRELOAD=<not set>
                     PATH=/home/aidlux/miniforge3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/
                          usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/data/data/co
                          m.aidlux/files/usr/bin:/system/bin:/system/xbin
       REQUESTS_CA_BUNDLE=<not set>
            SSL_CERT_FILE=<not set>

     active environment : None
       user config file : /home/aidlux/.condarc
 populated config files : /home/aidlux/miniforge3/.condarc
          conda version : 26.3.2
    conda-build version : not installed
         python version : 3.13.13.final.0
                 solver : libmamba (default)
       virtual packages : __archspec=1=neoverse_n1
                          __conda=26.3.2=0
                          __glibc=2.31=0
                          __linux=5.4.0=0
                          __unix=0=0
       base environment : /home/aidlux/miniforge3  (writable)
      conda av data dir : /home/aidlux/miniforge3/etc/conda
  conda av metadata url : None
           channel URLs : https://conda.anaconda.org/conda-forge/linux-aarch64
                          https://conda.anaconda.org/conda-forge/noarch
          package cache : /home/aidlux/miniforge3/pkgs
                          /home/aidlux/.conda/pkgs
       envs directories : /home/aidlux/miniforge3/envs
                          /home/aidlux/.conda/envs
    temporary directory : /tmp
               platform : linux-aarch64
             user-agent : conda/26.3.2 requests/2.34.2 CPython/3.13.13 Linux/5.4.0-aidlite ubuntu/20.04.3 glibc/2.31 solver/libmamba conda-libmamba-solver/26.4.2 libmambapy/2.5.0
                UID:GID : 10143:10143
             netrc file : None
           offline mode : False


An unexpected error has occurred. Conda has prepared the above report.
If you suspect this error is being caused by a malfunctioning plugin,
consider using the --no-plugins option to turn off plugins.

Example: conda --no-plugins install <package>

Alternatively, you can set the CONDA_NO_PLUGINS environment variable on
the command line to run the command without plugins enabled.

Example: CONDA_NO_PLUGINS=true conda install <package>