zoukankan      html  css  js  c++  java
  • pip导包CalledProcessError: Command '('lsb_release', '-a')'异常处理

    使用conda安装某个包,报错如下:

    ERROR: Exception:
    Traceback (most recent call last):
      File "/home/lab/anaconda3/lib/python3.7/site-packages/pip/_internal/cli/base_command.py", line 178, in main
        status = self.run(options, args)
      File "/home/lab/anaconda3/lib/python3.7/site-packages/pip/_internal/commands/install.py", line 292, in run
        with self._build_session(options) as session:
      File "/home/lab/anaconda3/lib/python3.7/site-packages/pip/_internal/cli/base_command.py", line 92, in _build_session
        insecure_hosts=options.trusted_hosts,
      File "/home/lab/anaconda3/lib/python3.7/site-packages/pip/_internal/download.py", line 380, in __init__
        self.headers["User-Agent"] = user_agent()
      File "/home/lab/anaconda3/lib/python3.7/site-packages/pip/_internal/download.py", line 134, in user_agent
        zip(["name", "version", "id"], distro.linux_distribution()),
      File "/home/lab/anaconda3/lib/python3.7/site-packages/pip/_vendor/distro.py", line 122, in linux_distribution
        return _distro.linux_distribution(full_distribution_name)
      File "/home/lab/anaconda3/lib/python3.7/site-packages/pip/_vendor/distro.py", line 677, in linux_distribution
        self.version(),
      File "/home/lab/anaconda3/lib/python3.7/site-packages/pip/_vendor/distro.py", line 737, in version
        self.lsb_release_attr('release'),
      File "/home/lab/anaconda3/lib/python3.7/site-packages/pip/_vendor/distro.py", line 899, in lsb_release_attr
        return self._lsb_release_info.get(attribute, '')
      File "/home/lab/anaconda3/lib/python3.7/site-packages/pip/_vendor/distro.py", line 552, in __get__
        ret = obj.__dict__[self._fname] = self._f(obj)
      File "/home/lab/anaconda3/lib/python3.7/site-packages/pip/_vendor/distro.py", line 1012, in _lsb_release_info
        stdout = subprocess.check_output(cmd, stderr=devnull)
      File "/home/lab/anaconda3/envs/python3/lib/python3.7/subprocess.py", line 395, in check_output
        **kwargs).stdout
      File "/home/lab/anaconda3/envs/python3/lib/python3.7/subprocess.py", line 487, in run
        output=stdout, stderr=stderr)
    subprocess.CalledProcessError: Command '('lsb_release', '-a')' returned non-zero exit status 1.
    Traceback (most recent call last):
      File "/home/lab/anaconda3/envs/python3/bin/pip", line 11, in <module>
        sys.exit(main())
      File "/home/lab/anaconda3/lib/python3.7/site-packages/pip/_internal/__init__.py", line 78, in main
        return command.main(cmd_args)
      File "/home/lab/anaconda3/lib/python3.7/site-packages/pip/_internal/cli/base_command.py", line 227, in main
        timeout=min(5, options.timeout)
      File "/home/lab/anaconda3/lib/python3.7/site-packages/pip/_internal/cli/base_command.py", line 92, in _build_session
        insecure_hosts=options.trusted_hosts,
      File "/home/lab/anaconda3/lib/python3.7/site-packages/pip/_internal/download.py", line 380, in __init__
        self.headers["User-Agent"] = user_agent()
      File "/home/lab/anaconda3/lib/python3.7/site-packages/pip/_internal/download.py", line 134, in user_agent
        zip(["name", "version", "id"], distro.linux_distribution()),
      File "/home/lab/anaconda3/lib/python3.7/site-packages/pip/_vendor/distro.py", line 122, in linux_distribution
        return _distro.linux_distribution(full_distribution_name)
      File "/home/lab/anaconda3/lib/python3.7/site-packages/pip/_vendor/distro.py", line 677, in linux_distribution
        self.version(),
      File "/home/lab/anaconda3/lib/python3.7/site-packages/pip/_vendor/distro.py", line 737, in version
        self.lsb_release_attr('release'),
      File "/home/lab/anaconda3/lib/python3.7/site-packages/pip/_vendor/distro.py", line 899, in lsb_release_attr
        return self._lsb_release_info.get(attribute, '')
      File "/home/lab/anaconda3/lib/python3.7/site-packages/pip/_vendor/distro.py", line 552, in __get__
        ret = obj.__dict__[self._fname] = self._f(obj)
      File "/home/lab/anaconda3/lib/python3.7/site-packages/pip/_vendor/distro.py", line 1012, in _lsb_release_info
        stdout = subprocess.check_output(cmd, stderr=devnull)
      File "/home/lab/anaconda3/envs/python3/lib/python3.7/subprocess.py", line 395, in check_output
        **kwargs).stdout
      File "/home/lab/anaconda3/envs/python3/lib/python3.7/subprocess.py", line 487, in run
        output=stdout, stderr=stderr)
    subprocess.CalledProcessError: Command '('lsb_release', '-a')' returned non-zero exit status 1.

    这里的问题主要出在 lsb_release 包上, 此处可通过修改conda中pip下的 distro.py , 编辑其初始化方法的 include_lsb属性为False.

    stackoverflow - 解答:
    I had the same problem on a shared hosting account
    which is very limiting (I was installing python and pip for my user only).
    Their lsb_release -a returns something non-standard
    and I cannot change it.
    I solved the issue by editing distro.py
    (in your case: /usr/local/lib/python2.7/dist-packages/pip/_vendor/distro.py)
    and changing the default parameter of __init__ method.
    In my version it was at the line 545. Snippet: def __init__(self, include_lsb=True, os_release_file='', distro_release_file=''): Just change include_lsb=True to include_lsb=False.

    即:

    def __init__(self,
                     include_lsb=False,
                     os_release_file='',
                     distro_release_file='',
                     include_uname=True):
  • 相关阅读:
    Git-更新数据
    iOS开发-基本的网络知识
    iOS开发-单例模式
    iOS开发-多线程知识
    iOS开发-核心动画随笔
    iOS开发-关于网络状态的判断
    毕业设计--天气预报App
    iOS开发-UIColor转UIIamge方法
    iOS开发-用预处理指令代替注释
    JMS 消息服务
  • 原文地址:https://www.cnblogs.com/nyatom/p/11052822.html
Copyright © 2011-2022 走看看