NX 系统环境 python3.6 部署 PPOCR 报错记录

NX 系统环境 python3.6 部署 PPOCR 报错记录

前言(这环境,就硬配)

  • 问:为什么要用系统环境,不用 conda?
  • 答:因为 conda 的 ARM 端 python 最低只支持 3.7,而 paddlepaddle 提供的 Jetpack4.4 的 whl 只有 python3.6。

  • 问:干嘛非要用 Jetpack4.4
  • 答:绝影里就这版本,我 XXX 没办法。

  1. apt get install pythonXXX 的 对应 python site-packages 在用户目录下的~/.local/lib/python3.6/site-packages中,pip 安装的包都在这里。
  2. /usr/lib/python3/dist-packages/这个路径下,NX自带了很多配置的包。

错误记录

ImportError: cannot import name ‘_validate_lengths’

该错误出现在 最后调用检测程序时

错误原因:numpy版本不匹配,无法导入_validate_lengths

解决方法:

根据提示,进入 arraycrop.py 中,看到


记着是以下两个函数解除注释

  • def _normalize_shape(ndarray, shape, cast_to_int=True):
  • def _validate_lengths(narray, number_elements):
安装scikit-image

scikit-image这个库就离谱,在python3.7里安装屁事没有,在python3.6里安装,要么进度条一直转着,像是网不好的样子,反复确定换了源也没反应。

要么就是全片爆红,安装过程会不断地从scikit-image的高版本一路下载到低版本,然后每次安装都报错,大概类似于

  ERROR: Command errored out with exit status -4:
   command: /usr/bin/python3.6 /home/ysc/.local/lib/python3.6/site-packages/pip/_vendor/pep517/in_process/_in_process.py get_requires_for_build_wheel /tmp/tmp92nk3ap8
       cwd: /tmp/pip-install-ss7tgzhb/scikit-image_fc90552b1a214ccda82d1cae81fcd1bf
  Complete output (0 lines):


 ERROR: Command errored out with exit status -4:
   command: /usr/bin/python3.6 -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-ss7tgzhb/scikit-image_ebfb42b343c04f779c0756a132dd2855/setup.py'"'"'; __file__='"'"'/tmp/pip-install-ss7tgzhb/scikit-image_ebfb42b343c04f779c0756a132dd2855/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-hy6epp37
       cwd: /tmp/pip-install-ss7tgzhb/scikit-image_ebfb42b343c04f779c0756a132dd2855/
  Complete output (0 lines):


WARNING: Discarding https://pypi.tuna.tsinghua.edu.cn/packages/3d/b3/b9fdd4dead798cf9c654f2ffee24caa8e398ee27921914539d1e5525b754/scikit-image-0.17.1.tar.gz#sha256=1e2e2cf2572549bdb20b88a0f0ac275eea9f04f78b2b6973afdc3f329a73c75c (from https://pypi.tuna.tsinghua.edu.cn/simple/scikit-image/) (requires-python:>=3.6). Command errored out with exit status -4: python setup.py egg_info Check the logs for full command output.
  Using cached https://pypi.tuna.tsinghua.edu.cn/packages/07/ed/58a5157aa484c6aa4e33d4190fa235ce0c4a78010ddf592af4fc257b539f/scikit-image-0.16.2.tar.gz (28.9 MB)
  Preparing metadata (setup.py) ... error
  ERROR: Command errored out with exit status -4:
   command: /usr/bin/python3.6 -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-lm6zqk4n/scikit-image_7ff52823308443e9981c7c523c3952a3/setup.py'"'"'; __file__='"'"'/tmp/pip-install-lm6zqk4n/scikit-image_7ff52823308443e9981c7c523c3952a3/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-um2kxfx9
       cwd: /tmp/pip-install-lm6zqk4n/scikit-image_7ff52823308443e9981c7c523c3952a3/
  Complete output (0 lines):

简直离大谱。。。

解决方法:
最后大概也忘了是怎么解决的了
尝试了N种方法
如下:

一、
sudo pip install scikit-image --user

二、
sudo pip install --ignore-installed --user scikit-image

三、

  • 使用pip3 install scikit-image 安装一直报错,可能是通过pip安装要依赖numpy,scipy等包,而且与版本有关系,可能会因为这些原因导致一直安装不上,那么需要对其进行修正,可以使用命令进行修复:
    sudo apt-get install python3-skimage
  • 安装成功。
    假如发现安装的版本太低:
    运行命令:
    pip install -U scikit-image
    更新包版本
证书签名过期

sudo apt-get update报错,如下:

无法安全地用该源进行更新,所以默认禁用该源
校验数字签名时出错。此仓库未被更新,所以仍然使用此前的索引文件。
下列签名无效

问题原因:
/etc/pki/tls/certs/ca-bundle.crt 文件存储了各大证书颁发证的根证书交叉文件。
curl 访问https网站时,会比对这个文件里的根证书。如果这个文件过老,那就是有新的根证书未加入到这个文件里,导致curl无法正常访问https网站。
所以,你要么更新这个包(文件),要么可以选择手动添加证书进去,当然,你可以使用 curl -k 跳过证书验证。

解决方法:

  • 方法1:sudo apt-get install ca-certificates
  • 方法2:pkgs.org,自行下载deb格式,并dpkg安装
ModuleNotFoundError: No module named ‘apt_pkg’
  • 安装
    sudo apt install python3-apt
  • 进入包文件目录
    cd /usr/lib/python3/dist-packages/
  • 改名字
    cp apt_pkg.cpython-36m-x86-64-linux-gnu.so.so apt_pkg.so
非法指令 (核心已转储)

1.短暂解决:
在命令行输入

export OPENBLAS_CORETYPE=ARMV8
也可以采用增加系统变量方法,可以进行全局修改。

将“export OPENBLAS_CORETYPE=ARMV8”加入到“~/.bashrc”中

本文由mdnice多平台发布

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Jetson NX部署Python FastDeploy框架,可以按照以下步骤进行操作: 1. 安装JetPack SDK:前往NVIDIA官方网站下载并安装适用于Jetson NX的JetPack SDK。JetPack SDK包含了Jetson平台的操作系统(L4T)以及各种工具和库。 2. 安装Docker:在Jetson NX上安装Docker,可以使用以下命令: ``` $ curl -sSL https://get.docker.com/ | sh ``` 3. 下载Python FastDeploy:从NVIDIA的GitHub存储库下载Python FastDeploy。你可以使用以下命令: ``` $ git clone https://github.com/NVIDIA-AI-IOT/python-fastdeploy.git ``` 4. 构建FastDeploy Docker镜像:进入Python FastDeploy目录,并执行以下命令来构建Docker镜像: ``` $ cd python-fastdeploy $ docker build -t fastdeploy . ``` 5. 运行FastDeploy容器:使用以下命令在Jetson NX上运行FastDeploy容器: ``` $ docker run --privileged --network host -it fastdeploy ``` 6. 配置FastDeploy:在FastDeploy容器中,运行以下命令来配置FastDeploy: ``` $ python setup.py install ``` 7. 部署模型:将你的训练好的模型放置在FastDeploy容器中,并使用FastDeploy提供的Python API进行模型部署。具体步骤可以参考FastDeploy的文档和示例代码。 8. 启动FastDeploy服务:运行以下命令来启动FastDeploy服务: ``` $ python fastdeploy_server.py ``` 以上步骤将帮助你在Jetson NX部署Python FastDeploy框架。请确保按照说明正确安装和配置所需的软件和工具。如果需要更多详细信息,请参考NVIDIA的Python FastDeploy文档。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值