原创 如有转载,请注明出处
问题:
- haski项目运行后, 浏览器打开, 报以下错误
File "/home/os-huangyy/hyy-work/workcode/platform-haski/haski/__init__.py", line 3, in <module>
from pydpkg import Dsc
File "/home/os-huangyy/Envs/platform-haski-3.7/lib/python3.7/site-packages/pydpkg/__init__.py", line 11, in <module>
import lzma
File "/usr/local/lib/python3.7/lzma.py", line 27, in <module>
from _lzma import *
ModuleNotFoundError: No module named '_lzma'
处理方法:
- 网上说的处理方法,都无法处理,所以按照自已的分析来处理
- 经分析,以上报错,是因为在from pydpkg import Dsc时报错, 所以怀疑是版本问题,故安装低版本的
pip install pydpkg==1.4
- 重启项目,发现报了新错误,如下:
File "/home/os-huangyy/Envs/platform-haski-3.7/lib/python3.7/site-packages/pgpy/constants.py", line 3, in <module>
import bz2
File "/usr/local/lib/python3.7/bz2.py", line 19, in <module>
from _bz2 import BZ2Compressor, BZ2Decompressor
ModuleNotFoundError: No module named '_bz2'
- 经分析是和bz2模块有关系,所以现在问题就是处理bz2导入的问题
- 处理方法是,/usr/local/python3.7/lib/下缺少一个包,
下载这个包,放在python3.7的对应目录下,即可,
操作如下:
1. 下载这个文件在自己的电脑上:_bz2.cpython-36m-x86_64-linux-gnu.so
链接: https://pan.baidu.com/s/1K5thsqQ4sHYPbg6nCQI5bw 提取码: k64n
2. 将下载的so文件放在python安装目录下的lib-dynload目录下
3. 添加可执行权限
chmod a+x xxx.so
说明:
- 因为我的环境是python3.7所以需要将so的包名字36m 改成 37m 才能生效
- python安装目录,并不是虚拟环境中的目录哦,而是真实python环境中的安装目录
- 安装目录中添加文件后,虚拟环境即同时生效,并不需要重新创建虚拟环境