python3.7中引入pydpkg中的Dsc类报未找到_lzma错误处理

原创 如有转载,请注明出处

问题:

  1. 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'

处理方法:

  1. 网上说的处理方法,都无法处理,所以按照自已的分析来处理
  2. 经分析,以上报错,是因为在from pydpkg import Dsc时报错, 所以怀疑是版本问题,故安装低版本的
pip install pydpkg==1.4
  1. 重启项目,发现报了新错误,如下:
  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'
  1. 经分析是和bz2模块有关系,所以现在问题就是处理bz2导入的问题
  2. 处理方法是,/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

说明:

  1. 因为我的环境是python3.7所以需要将so的包名字36m 改成 37m 才能生效
  2. python安装目录,并不是虚拟环境中的目录哦,而是真实python环境中的安装目录
  3. 安装目录中添加文件后,虚拟环境即同时生效,并不需要重新创建虚拟环境
上一篇:ISAPI_Rewrite试用--让动态网页看起来静态化


下一篇:C#引用CefSharp并屏蔽鼠标右键和禁止拖动放置事件