Python3 生菜抛出语法错误
Python3 Lettuce throws SyntaxError
我正在尝试使用 lettuce 编写一些简单的单元测试。
(更具体地说,我正在学习本教程:https://semaphoreci.com/community/tutorials/bdd-testing-a-restful-web-application-in-python)
我刚刚安装了生菜:
$ pip3 install lettuce
当我 运行
$ lettuce test/features
我得到:
Traceback (most recent call last):
File "/usr/local/bin/lettuce", line 9, in <module>
load_entry_point('lettuce==0.2.23', 'console_scripts', 'lettuce')()
File "/usr/local/lib/python3.4/site-packages/pkg_resources/__init__.py", line 542, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/usr/local/lib/python3.4/site-packages/pkg_resources/__init__.py", line 2569, in load_entry_point
return ep.load()
File "/usr/local/lib/python3.4/site-packages/pkg_resources/__init__.py", line 2229, in load
return self.resolve()
File "/usr/local/lib/python3.4/site-packages/pkg_resources/__init__.py", line 2235, in resolve
module = __import__(self.module_name, fromlist=['__name__'], level=0)
File "/usr/local/lib/python3.4/site-packages/lettuce/__init__.py", line 179
print "Error loading step definitions:\n", e
^
SyntaxError: Missing parentheses in call to 'print'
是不是生菜包装有误?我去纠正了一些事情(在一些打印语句中添加了括号,然后其他一些打印由于同样的原因失败了)。
有什么想法吗?
很遗憾,lettuce
与 Python 不兼容 3.
该项目没有在任何地方说明它们 与 兼容,但它们的源代码使用 Python 2 个特定语句,例如 print
触发异常的语句。然而,问题远不止 print
。有一个 issue open 请求 Python 3 支持。
如果您必须使用lettuce
,那么您需要使用Python 2.7。否则,似乎有一个名为 aloe
的叉子可以与 nose
和 Python 3.
一起使用
我正在尝试使用 lettuce 编写一些简单的单元测试。
(更具体地说,我正在学习本教程:https://semaphoreci.com/community/tutorials/bdd-testing-a-restful-web-application-in-python)
我刚刚安装了生菜:
$ pip3 install lettuce
当我 运行
$ lettuce test/features
我得到:
Traceback (most recent call last):
File "/usr/local/bin/lettuce", line 9, in <module>
load_entry_point('lettuce==0.2.23', 'console_scripts', 'lettuce')()
File "/usr/local/lib/python3.4/site-packages/pkg_resources/__init__.py", line 542, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/usr/local/lib/python3.4/site-packages/pkg_resources/__init__.py", line 2569, in load_entry_point
return ep.load()
File "/usr/local/lib/python3.4/site-packages/pkg_resources/__init__.py", line 2229, in load
return self.resolve()
File "/usr/local/lib/python3.4/site-packages/pkg_resources/__init__.py", line 2235, in resolve
module = __import__(self.module_name, fromlist=['__name__'], level=0)
File "/usr/local/lib/python3.4/site-packages/lettuce/__init__.py", line 179
print "Error loading step definitions:\n", e
^
SyntaxError: Missing parentheses in call to 'print'
是不是生菜包装有误?我去纠正了一些事情(在一些打印语句中添加了括号,然后其他一些打印由于同样的原因失败了)。 有什么想法吗?
很遗憾,lettuce
与 Python 不兼容 3.
该项目没有在任何地方说明它们 与 兼容,但它们的源代码使用 Python 2 个特定语句,例如 print
触发异常的语句。然而,问题远不止 print
。有一个 issue open 请求 Python 3 支持。
如果您必须使用lettuce
,那么您需要使用Python 2.7。否则,似乎有一个名为 aloe
的叉子可以与 nose
和 Python 3.