【问题标题】:Is there a new/updated Twill?有新的/更新的斜纹布吗?
【发布时间】:2014-06-05 08:27:49
【问题描述】:

我一直在尝试在 Python 上学习 Twill 脚本,我正在使用 Python 3.4 和 Twill 1.8.0。在这里阅读了一些帖子,我发现学习很有趣。但是,我在安装 Twill 时确实遇到了问题。我只知道 Python 中的 PRINT 现在是一个函数,所以这意味着它需要括号,这就是我的问题开始的地方。当我查看 Twill 1.8.0 上的代码时,我认为它还没有针对使用 PRINT 的变化。字符串没有用括号括起来,所以我想也许有一个新的补丁或版本的斜纹可以适应 Python 的变化,有吗?或者除了手动编辑斜纹文件之外我还能做些什么吗?

非常感谢您的回复。

【问题讨论】:

  • 我认为 Twill 是否可用于 Python3 是一个合理的问题。赞成取消恶意反对票。

标签: python printing scripting syntax-error twill


【解决方案1】:

我刚刚找到了答案。感谢您查看此问题以及可能的反对意见(SAD FACE)。因此,我找到的解决方案是使用 Python 文件夹中的 2to3 脚本工具。基本上,它将 Python 2 代码重构为 Python 3 代码。

【讨论】:

  • 我也试过了,可以成功安装Twill 1.8.0。但是当我尝试from twill.commands import * 时,我得到了ModuleNotFoundError: No module named 'lxml'。我使用 Python 3.6。你是怎么处理的?
  • 实际上,我可以通过安装lxmlrequestspip install 来解决ModuleNotFoundError。但是现在我在尝试导入时得到SyntaxError,因为某处False = 0....
【解决方案2】:

GM 的回答只是为我解决了部分问题(在 Windows 上使用 Python 3.6)。下载Twill 1.8.0 并将其转换为2to3 只是第一步。

之后,我不得不安装缺少的软件包:

pip install lxml
pip install requests
pip install pypiwin32
pip install cssselect

此外,我必须修复 Python36/lib/site-packages/twill/other_packages/ 中的两个文件: 在subprocess.py 中,我在第392 行删除了带有False = 0 的部分,并在第353 行将if 0: 更改为if 1:,以避免使用_subprocess。 最后,在pyparsing.py 中,我将.lowercase 替换为.lower(),将.uppercase 替换为.upper()

【讨论】:

    【解决方案3】:

    嗯,Twill 2.0 发布时支持现代 python 修订版

    Twill 2.0 Release Info Page

    【讨论】:

    • 快速更新:当前版本现在是 Twill 2.0.3(Python 2 + 3)和 Twill 3.0(仅限 Python 3)。
    【解决方案4】:

    你试过安装twill3吗?

    pip install twill3
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-05-03
      • 1970-01-01
      • 2013-08-28
      • 2016-02-27
      • 1970-01-01
      • 2022-07-04
      • 1970-01-01
      相关资源
      最近更新 更多