【问题标题】:Python3 Lettuce throws SyntaxErrorPython3 生菜抛出 SyntaxError
【发布时间】:2016-09-16 08:28:18
【问题描述】:

我正在尝试使用 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-3.x pip lettuce


【解决方案1】:

很遗憾,lettuce 与 Python 3 不兼容。

该项目没有在任何地方说明它们与什么兼容,但它们的源代码使用的是 Python 2 特定的语句,例如触发异常的 print 语句。然而,除了print 之外,还有更多的问题。有一个 issue open 请求 Python 3 支持。

如果您必须使用lettuce,那么您将需要使用 Python 2.7。否则,似乎有一个名为 aloe 的分支可以与 nose 和 Python 3 一起使用。

【讨论】:

    【解决方案2】:
    猜你喜欢
    • 1970-01-01
    • 2021-02-09
    • 2017-12-16
    • 1970-01-01
    • 2017-04-24
    • 2018-02-14
    • 1970-01-01
    • 2021-11-13
    • 2010-12-27
    相关资源
    最近更新 更多