强烈建议使用conda安装,否则各种环境各种坑
问题1、import paddle Illegal instruction(通过pip安装的错误)
原因是我的CPU不支持avx指令集
# 查看是否支持,返回结果是否包含avx
cat /proc/cpuinfo | grep -i avx
![](https://img.haomeiwen.com/i7339866/c2c59ed075ac2db0.png)
问题2、ImportError: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found
centos7 默认低版本,网上各种自编译或升级gcc,过程复杂容易出错。简单方式就是按照conda
拷贝它自带的库
- 查找高版本(已安装conda情况下)
find / -name "libstdc++.so.6*"
![](https://img.haomeiwen.com/i7339866/3305421228d0a07f.png)
- 复制文件过去
cp /XXXX/libstdc++.so.6.0.26 /usr/lib64/
- 原有的可以进行备份
mv /XXXX/libstdc++.so.6 /XXXX/libstdc++.so.6.bak
- 链接新的库
ln -s /usr/lib64/libstdc++.so.6.0.26 /usr/lib64/libstdc++.so.6
最后查看strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX 有没有报错的GLIBCXX_3.4.20
问题3、libGL.so.1: cannot open shared object file: No such file or directory
安装这个库即可
pip install opencv-python-headless
问题4、paddleocr ERROR: Failed building wheel for PyWavelets
- 之前使用pip安装的,换
conda
方式安装
conda install PyWavelets
问题5、打包过程中各种找不到包的问题,终极解决方案
通过pipenv
虚拟环境进行打包,生成的main.spec
文件
- 缺包(安装包中代码提示缺包)时,向
pathex
添加引用的目录 - 缺dll时,向
binaries
添加引用的目录 - 缺引用包时,向
hiddenimports
添加引用包名
# -*- mode: python ; coding: utf-8 -*-
block_cipher = None
a = Analysis(
['main.py'],
pathex=['C:\\Users\\Administrator\\.virtualenvs\\ocr-at2G3dJ0\\Lib\\site-packages\\paddleocr', 'C:\\Users\\Administrator\\.virtualenvs\\ocr-at2G3dJ0\\Lib\\site-packages\\paddle\\libs','C:\\Users\\Administrator\\.virtualenvs\\ocr-at2G3dJ0\\Lib\\site-packages\\paddleocr\\ppocr\\utils\\e2e_utils','C:\\Users\\Administrator\\.virtualenvs\\ocr-at2G3dJ0\\Lib\\site-packages\\paddleocr\\ppocr\\postprocess'],
binaries=[('C:\\Users\\Administrator\\.virtualenvs\\ocr-at2G3dJ0\\Lib\\site-packages\\paddle\\libs', '.')],
datas=[],
hiddenimports=['extract_textpoint_slow'],
hookspath=[],
hooksconfig={},
runtime_hooks=[],
excludes=['matplotlib'],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False,
)
pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher)
exe = EXE(
pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
[],
name='main',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
upx_exclude=[],
runtime_tmpdir=None,
console=True,
disable_windowed_traceback=False,
argv_emulation=False,
target_arch=None,
codesign_identity=None,
entitlements_file=None,
)
网友评论