我正在我的机器上安装gump3(Ubuntu 12.04 64bit)。 pmock是依赖之一。
我使用以下命令成功安装了pmock
:
sudo pip install pmock --allow-external pmock --allow-unverified pmock
但是,当我尝试导入pmock
时,出现以下错误:
Python 2.7.3 (default, Jun 22 2015, 19:33:41)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pmock
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/pmock.py", line 313
def with(self, *arg_constraints, **kwarg_constraints):
^
SyntaxError: invalid syntax
>>>
这是pmock.py
中的代码:
def with(self, *arg_constraints, **kwarg_constraints):
"""Fully specify the method's arguments."""
self._mocker.add_matcher(AllArgumentsMatcher(arg_constraints,
kwarg_constraints))
return self
知道我为什么会收到此错误?
答案 0 :(得分:2)
正如pmock page you linked in your question所述:
自2004年中期以来,pMock一直没有积极发展。
和
pMock目前是针对Python&gt; = 2.3
的版本编写的
使用Python 2.5,the with
statement (PEP 343)以及它,引入了with
关键字。在Python 2.5中,只有在使用
from __future__ import with_statement
但使用with
或as
作为标识符(例如,作为函数名称,如pmock.py
所做的那样)会引发警告,即使该功能未启用也是如此
自Python 2.6起,该功能始终处于启用状态,使用with
或as
作为标识符时出错。 (参见PEP 343的过渡计划部分。)
您正在使用与pmock不兼容的Python 2.7.3。