python-3.x - Python3生菜抛出语法错误

标签 python-3.x pip 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 的 fork 。与 nose 一起使用和 Python 3。

关于python-3.x - Python3生菜抛出语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39526917/

相关文章:

python-3.x - 使用 discord.py 编辑消息

python - 在 macOS Sierra Python 2.7 上安装 mysqlclient 时出错

python - 生菜、 Django 的背景

java - 如何增加 redis 排序集的值

java - Redis 生菜发布

python - 我正在使用 Python,我想在多维列表中找到那个(那些)值的最大值和位置

python-3.x - 无法在Mac 10.14.3中安装python 3.7包Fiona,lxml,pandas,Pillow

python - 使用pip安装Dlib时出现错误

python - 用 pandas 计算每天的值总数

opencv - 使用pip安装旧版本的cv2