Ubuntu 编译pymnn遇到的问题及解决方案

        本文仅记录本人在arm平台上安装pymnn时遇到的问题,仅供参考,并不涵盖编译过程中所有可能出现的问题 。

问题1: python3 build_deps.py时出现:

arm cpu gcc 9.3,CPURuntime.cpp:1559:28: error: ‘CPUINFO_ARM_LINUX_FEATURE_I8MM’ was not declared in this scope

解决方案:

        编辑出现问题的文件,为其添加头文件:

#define CPUINFO_ARM_LINUX_FEATURE_I8MM UINT32_C(0x00002000)

问题2:python3 setup.py install 时

error: urllib3 1.25.11 is installed but urllib3<2,>=1.26.2 is required by {elastic-transport}

 解决方案:编辑setup.py,depend_pip_packages 保留一个 numpy 就可以

问题3:Arm上import MNN时,出现

File "/home/ubuntu/MNN-2.2.2/pymnn/pip_package/MNN/__init__.py", line 4, in <module> from _mnncengine import * ModuleNotFoundError: No module named '_mnncengine'

 解决方案:

locate mnncengine

        定位到"_mnncengine.cpython-37m-aarch64-linux-gnu.so"的位置,比如我的是"/home/ubuntu/MNN-2.2.2/pymnn/pip_package/build/lib.linux-aarch64-3.7/_mnncengine.cpython-37m-aarch64-linux-gnu.so"

        然后编辑出错的文件,比如我这边:

sudo vim /home/ubuntu/MNN-2.2.2/pymnn/pip_package/MNN/__init__.py

        然后在该文件中添加locate得到的相关路径:

import sys
sys.path.append('/home/ubuntu/MNN-2.2.2/pymnn/pip_package/build/lib.linux-aarch64-3.7/')

        然后就可以正常import MNN了 

问题4:只能在pymnn安装目录import MNN,换到其它目录再import MNN时就会显示no module named MNN。

 解决方案:

        需要将生成的 pymnn 模块所在的路径添加到 Python 解释器的搜索路径中。这样,Python 解释器就能够在任何目录下找到并导入pymnn模块。

export PYTHONPATH=/Your_dic_of_pymnn:$PYTHONPATH

        如果希望每次启动终端时都自动设置这个环境变量,可以将上述命令添加到bashrc文件中。然后使用source ~/.bashrc命令来立即生效即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不想起名字呢

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值