安装line_profiler后如何修复pip?

use*_*704 8 python linux pip

使用Ubuntu 14.04.5 LTS.试图安装line_profiler sudo pip3 install line_profiler,现在当我运行时sudo pip3,我得到以下输出:

Traceback (most recent call last):
  File "/usr/bin/pip3", line 5, in <module>
    from pkg_resources import load_entry_point
  File "/usr/local/lib/python3.4/dist-packages/pkg_resources/__init__.py", line 72, in <module>
    import packaging.requirements
  File "/usr/local/lib/python3.4/dist-packages/packaging/requirements.py", line 59, in <module>
    MARKER_EXPR = originalTextFor(MARKER_EXPR())("marker")
TypeError: __call__() missing 1 required positional argument: 'name'
Run Code Online (Sandbox Code Playgroud)

当我尝试运行django应用程序时遇到类似的错误,所以我猜很多东西搞砸了.

任何人都知道可能出现什么问题或如何解决?

小智 15

在安装了几个软件包之后,我刚刚在一个相对新鲜的Ubuntu 14.04配置上遇到了同样的错误.我猜测有错误的代码已被推送到存储库.

查看异常的根本原因:

  File "/usr/local/lib/python3.4/dist-packages/packaging/requirements.py", line 59, in <module>
    MARKER_EXPR = originalTextFor(MARKER_EXPR())("marker")
TypeError: __call__() missing 1 required positional argument: 'name'
Run Code Online (Sandbox Code Playgroud)

问题是MARKER_EXPR()调用应该有一个'name'参数,但事实并非如此.我的修复是编辑requirements.py文件,使其包含MARKER_EXPR("").这解决了我.

  • 为我修复它,只需将`MARKER_EXPR = originalTextFor(MARKER_EXPR())("marker")`更改为`MARKER_EXPR = originalTextFor(MARKER_EXPR(""))("marker")` (2认同)

Cer*_*rin 5

我自己遇到过这个并将其报告为包装中的错误,但维护者解释说这是由于过时的pyparsing版本.升级到pyparsing> = 2.0.2应修复错误.

  • 迪尔没有为我解决它 (2认同)