【发布时间】:2019-03-20 08:02:15
【问题描述】:
当我尝试使用 pip 安装某些东西时,我收到了消息
You are using pip version 18.0, however version 18.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
不过,当我遵循这里的建议时,我得到:
使用缓存收集 pip https://files.pythonhosted.org/packages/c2/d7/90f34cb0d83a6c5631cf71dfe64cc1054598c843a92b400e55675cc2ac37/pip-18.1-py2.py3-none-any.whl 例外:回溯(最近一次通话最后一次):文件 "/home/.../miniconda3/envs/py3/lib/python3.6/site-packages/pip/_vendor/pkg_resources/init.py", 第 2862 行,在 _dep_map 返回 self.dep_map 文件 "/home/.../miniconda3/envs/py3/lib/python3.6/site-packages/pip/_vendor/pkg_resources/__init.py", 第 2669 行,在 getattr 中 raise AttributeError(attr) AttributeError: _DistInfoDistribution__dep_map
在处理上述异常的过程中,又发生了一个异常:
Traceback(最近一次调用最后一次):文件 "/home/.../miniconda3/envs/py3/lib/python3.6/site-packages/pip/_vendor/packaging/requirements.py", 第 93 行,在 init 中 req = REQUIREMENT.parseString(requirement_string) 文件 "/home/.../miniconda3/envs/py3/lib/python3.6/site-packages/pip/_vendor/pyparsing.py", 第 1632 行,在 parseString 中 提高 exc 文件“/home/.../miniconda3/envs/py3/lib/python3.6/site-packages/pip/_vendor/pyparsing.py”, 第 1622 行,在 parseString 中 loc,tokens = self._parse(instring,0)文件“/home/.../miniconda3/envs/py3/lib/python3.6/site-packages/pip/_vendor/pyparsing.py”, 第 1379 行,在 _parseNoCache 中 loc,tokens = self.parseImpl(instring,preloc,doActions)文件“/home/.../miniconda3/envs/py3/lib/python3.6/site-packages/pip/_vendor/pyparsing.py”, 第 3395 行,在 parseImpl 中 loc,exprtokens = e._parse(instring,loc,doActions)文件“/home/.../miniconda3/envs/py3/lib/python3.6/site-packages/pip/_vendor/pyparsing.py”, 第 1383 行,在 _parseNoCache 中 loc,tokens = self.parseImpl(instring,preloc,doActions)文件“/home/.../miniconda3/envs/py3/lib/python3.6/site-packages/pip/_vendor/pyparsing.py”, 第 3183 行,在 parseImpl 中 raise ParseException(instring, loc, self.errmsg, self) pip._vendor.pyparsing.ParseException: Expected stringEnd (at char 33), (行:1,列:34)
在处理上述异常的过程中,又发生了一个异常:
Traceback(最近一次调用最后一次):文件 "/home/.../miniconda3/envs/py3/lib/python3.6/site-packages/pip/_vendor/pkg_resources/init.py", 第 2942 行,在 init 中 super(Requirement, self).init(requirement_string) 文件“/home/.../miniconda3/envs/py3/lib/python3.6/site-packages/pip/_vendor/packaging/requirements .py", 第 97 行,在 init 中 requirements_string[e.loc:e.loc + 8])) pip._vendor.packaging.requirements.InvalidRequirement:无效 要求,在 "'; extra '" 处解析错误
在处理上述异常的过程中,又发生了一个异常:
Traceback(最近一次调用最后一次):文件 "/home/.../miniconda3/envs/py3/lib/python3.6/site-packages/pip/_internal/basecommand.py", 第 228 行,主要 status = self.run(options, args) 文件“/home/.../miniconda3/envs/py3/lib/python3.6/site-packages/pip/_internal/commands/install.py”, 第 318 行,运行中 self._warn_about_conflicts(to_install) 文件“/home/.../miniconda3/envs/py3/lib/python3.6/site-packages/pip/_internal/commands/install.py”, 第 442 行,在 _warn_about_conflicts package_set, _dep_info = check_install_conflicts(to_install) 文件 "/home/.../miniconda3/envs/py3/lib/python3.6/site-packages/pip/_internal/operations/check.py", 第 89 行,在 check_install_conflicts 中 state = create_package_set_from_installed() 文件“/home/.../miniconda3/envs/py3/lib/python3.6/site-packages/pip/_internal/operations/check.py”, 第 39 行,在 create_package_set_from_installed retval[name] = PackageDetails(dist.version, dist.requires()) 文件 "/home/.../miniconda3/envs/py3/lib/python3.6/site-packages/pip/_vendor/pkg_resources/init.py", 第 2613 行,需要 dm = self._dep_map 文件 "/home/.../miniconda3/envs/py3/lib/python3.6/site-packages/pip/_vendor/pkg_resources/init.py", 第 2864 行,在 _dep_map 中 self.dep_map = self._compute_dependencies() 文件“/home/.../miniconda3/envs/py3/lib/python3.6/site-packages/pip/_vendor/pkg_resources/__init.py ", 第 2874 行,在 _compute_dependencies reqs.extend(parse_requirements(req)) 文件“/home/.../miniconda3/envs/py3/lib/python3.6/site-packages/pip/_vendor/pkg_resources/init.py ", 第 2935 行,在 parse_requirements 中 产量需求(行)文件“/home/.../miniconda3/envs/py3/lib/python3.6/site-packages/pip/_vendor/pkg_resources/init.py”, 第 2944 行,在 init 中 raise RequirementParseError(str(e)) pip._vendor.pkg_resources.RequirementParseError: 无效的要求, 在 "'; extra '" 处解析错误,但是您使用的是 pip 版本 18.0 版本 18.1 可用。您应该考虑通过 'pip 安装 --upgrade pip' 命令。
我尝试了conda install pip,但没有帮助。当我尝试conda remove pip 时,它想删除所有依赖包,这不是我真正想做的。知道如何在不破坏我的环境的情况下修复它吗?
【问题讨论】:
-
conda remove --force仅删除该包而不涉及依赖项,如conda remove --help中所述