Ubuntu14.04虚拟环境下pip安装zbarlight失败求助
环境信息整理
系统版本
(venv)$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 14.04.5 LTS Release: 14.04 Codename: trusty
Python & Pip 版本
$ which python /home/ubuntu/www/venv/bin/python (venv) $ python --version Python 2.7.12 (venv)$ pip --version pip 10.0.1 from /home/ubuntu/www/venv/lib/python2.7/site-packages/pip (python 2.7)
安装报错详情
执行pip install zbarlight时触发的错误:
(venv) $ pip install zbarlight Collecting zbarlight Installing collected packages: zbarlight Exception: Traceback (most recent call last): File "/home/ubuntu/www/venv/lib/python2.7/site-packages/pip/_internal/basecommand.py", line 228, in main status = self.run(options, args) File "/home/ubuntu/www/venv/lib/python2.7/site-packages/pip/_internal/commands/install.py", line 335, in run use_user_site=options.use_user_site, File "/home/ubuntu/www/venv/lib/python2.7/site-packages/pip/_internal/req/__init__.py", line 49, in install_given_reqs **kwargs File "/home/ubuntu/www/venv/lib/python2.7/site-packages/pip/_internal/req/req_install.py", line 748, in install use_user_site=use_user_site, pycompile=pycompile, File "/home/ubuntu/www/venv/lib/python2.7/site-packages/pip/_internal/req/req_install.py", line 961, in move_wheel_files warn_script_location=warn_script_location, File "/home/ubuntu/www/venv/lib/python2.7/site-packages/pip/_internal/wheel.py", line 316, in move_wheel_files assert info_dir, "%s .dist-info directory not found" % req AssertionError: zbarlight .dist-info directory not found
问题解决方案
这个错误大概率是pip缓存损坏、系统缺少底层依赖,或者pip版本与Python2.7兼容性不匹配导致的,给你几个逐步排查的方案:
1. 先安装zbarlight依赖的系统库
zbarlight需要系统级的zbar库支持,先在Ubuntu上安装:
sudo apt-get update sudo apt-get install libzbar0 libzbar-dev
2. 清理pip缓存后重新安装
缓存的损坏包经常会引发这类问题,先清空缓存:
pip cache purge
如果还是不行,直接跳过缓存安装:
pip install zbarlight --no-cache-dir
3. 升级pip到Python2.7兼容的最高版本
你当前用的pip10.0.1对Python2.7的支持不算完美,建议升级到最后支持Python2.7的pip版本(20.3.4):
pip install pip==20.3.4
升级完成后再重新尝试安装zbarlight。
4. 手动下载源码编译安装
如果上面的方法都失效,试试直接用源码包安装:
# 下载对应Python2.7的zbarlight源码包 wget https://files.pythonhosted.org/packages/source/z/zbarlight/zbarlight-3.0.tar.gz # 解压并进入目录 tar -xzf zbarlight-3.0.tar.gz cd zbarlight-3.0 # 在虚拟环境中执行安装 python setup.py install
简单说下这个错误的本质:pip在处理wheel包时找不到对应的.dist-info目录,要么是缓存包损坏,要么是编译依赖缺失导致安装过程生成的文件不完整,按上面的步骤一步步试,应该能解决。
内容的提问来源于stack exchange,提问作者AlonS
相关产品推荐
相关产品推荐

