在安装line_profiler之后如何解决pip问题?

使用Ubuntu 14.04.5 LTS。 试图用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' 

当我尝试运行一个Django应用程序时,得到一个类似的错误,所以我想很多东西都搞砸了。

任何人有任何想法可能会出现错误或如何解决?

Solutions Collecting From Web of "在安装line_profiler之后如何解决pip问题?"

我刚刚安装了几个软件包后,遇到了一个相对较新的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' 

问题是, MARKER_EXPR()调用应该有一个“名称”参数,但它没有。 我的修复是编辑requirements.py文件,使其包含MARKER_EXPR("") 。 这为我解决了。

我自己也遇到过这个问题,并且把它作为一个包装中的bug报告,但是一个维护者解释说这是由于pyparsing的过时版本造成的。 升级到pyparsing> = 2.0.2应该修复错误。

只是做sudo pip uninstall pyparsing ,然后sudo pip install pyparsing ,然后每件事情都会好的。

接受的答案为我工作。 但是,正如另一个答案所指出的,pyparsing需要更新。 在requirements.py中添加引号后,我能够升级pyparsing。 然后我删除了我的编辑,并点继续正常运作。

类似的问题(线剖析器打破了点子),但不同的错误 。

解决(感谢乔希的评论)通过删除一些本地安装的软件包(回落到操作系统提供的默认值),然后更新:

 sudo rm -rf /usr/local/lib/python3.4/dist-packages/setuptools* sudo rm -rf /usr/local/lib/python3.4/dist-packages/pkg_resources sudo pip3 install --upgrade pip 

警告:此命令将删除文件而不询问。 YMMV先备份这些文件。