我该如何开始使用twill?

4 投票
1 回答
9022 浏览
提问于 2025-04-15 21:40

抱歉,我之前在“Superuser”上问过这个问题,但没有人回答,所以我把它删掉了,决定在这里发帖。希望这不是个大问题,尤其是我最开始是在“StackOverflow”上被建议使用twill的(而不是在“SuperUser”上)。

我该如何开始使用twill?我刚下载了它,解压后点击了文件夹里的setup.py文件。黑色窗口(终端)出现了一瞬间又消失了。

(我电脑上安装了Python 2.5,还有Google App Engine的SDK)

在twill的文档部分中提到:


下载twill

twill的最新版本是0.9,于2007年12月27日发布;可以在http://darcs.idyll.org/~t/projects/twill-0.9.tar.gz下载。你也可以使用Python的easy_install来安装或升级twill。

twill支持Python 2.3及以上版本。

要开始使用twill,先安装它,然后输入twill-sh。在提示符下输入:

go http://www.slashdot.org/
show
showforms
showhistory


我不太明白这段话里我应该输入什么(是只输入“twill-sh”,还是要输入“twill-sh”和下面所有的命令),以及在哪里输入(我试着在电脑的命令提示符窗口输入,但没有成功)。

有人能帮帮我吗?

谢谢大家!


更新1:

(这个更新是对S.Mark回答的回应)

你好,S.Mark!我试着按照你的指示操作。结果如下:

首先,我在D盘创建了一个名为“tmp”的文件夹。然后我把twill-0.9下载并解压到那个文件夹里。所以,现在我电脑上这个文件的路径和你示例中的一样:D:\tmp\twill-0.9:

alt text
(来源:narod.ru)

alt text
(来源:narod.ru)

然后,我尝试打开电脑的命令提示符:

alt text
(来源:narod.ru)

alt text
(来源:narod.ru)

alt text
(来源:narod.ru)

alt text
(来源:narod.ru)

alt text
(来源:narod.ru)

接着,按照你的第二步指示,我尝试切换到D盘:

alt text
(来源:narod.ru)

但不知道为什么没成功:

alt text
(来源:narod.ru)

这句中文大意是“此操作被拒绝。”这是为什么呢?我还是尝试继续第三步,结果如下:

alt text
(来源:narod.ru)

根据我的理解,这句中文大意是“‘C:\’既不是内部命令也不是外部命令,因此无法执行。”这是为什么呢?我的电脑有什么问题吗?


更新2:

(这个更新是我对S.Mark回答的第二次回应)

你好,S.Mark!再次感谢你的回答。

是的,这次我只输入了你在帖子中强调的部分,结果成功了!所以当我一开始只输入“d:”时,它有效!

但是,当我输入“python setup.py build”时,出现了同样的错误信息(“‘python’既不是内部命令也不是外部命令,无法执行。”):

alt text
(来源:narod.ru)

我试着重复这个命令,结果不小心漏掉了“python”这个词:
alt text
(来源:narod.ru)

当我按下“Enter”键时,构建过程似乎启动了——至少我看到的和你指示的第四步(“开始构建过程”)非常相似:

alt text
(来源:narod.ru)
alt text
(来源:narod.ru)
alt text
(来源:narod.ru)

但现在我对继续进行第五步(“安装它”)有点犹豫,因为我不确定我做的是否正确。

如果我在第四步做的没问题,是否在第五步也应该省略“python”这个词?

另外一个问题:你是怎么把终端的内容放到你的帖子里的,而不是做截图?有没有什么方法可以把终端的内容复制到剪贴板?一直做截图并上传再发帖实在是太麻烦了。


更新3:

(这个更新是我对S.Mark的第三次回应)

S.Mark,您好!再次打扰你了!

(希望你还没对我感到厌烦)

“…是的,你可以省略python,直接运行setup.py,因为你的python安装已经在注册表中注册了…关于第五步,你可以直接运行setup.py install。”——我按照你的话做了,安装过程顺利完成!谢谢你。

但是关于接下来的步骤(“然后从开始菜单打开python提示符,测试第六步和第八步”),在Python提示符中没有太多成功:

alt text
(来源:narod.ru)

在普通的命令提示符(终端)中也没有成功:

alt text
(来源:narod.ru)

(它又一次用中文提示说python“既不是内部命令也不是外部命令,因此无法执行”)。你知道为什么没成功吗?

“…你的python安装在哪里?C:\Python25?”

—是的,没错。

“…命令提示符属性中有一个设置(易编辑模式),可以启用在命令提示符中选择文本,你能在superuser.com问一下吗?”

—当然,我会在那儿问这个问题。谢谢你告诉我。

1 个回答

10

你不能直接双击 setup.py 文件来安装。

你需要打开命令提示符或者终端,然后进入到那个文件夹。

接下来,你需要执行以下操作:

python setup.py build
python setup.py install

安装步骤应该会自动完成构建,所以最后一步才是有效的。


编辑:好的,下面是超级用户的安装步骤:

  1. 我已经把 twill-0.9.tar.gz 解压到了 D:\tmp\twill-0.9 这个文件夹。

  2. 我现在在 C 盘,所以我切换到 D 盘:

    C:\>d:
  3. 现在,使用 cd 命令来切换到那个文件夹。

    C:\>cd D:\tmp\twill-0.9
  4. 开始构建过程。

    D:\tmp\twill-0.9>python setup.py build
    (WARNING: importing distutils, not setuptools!)
    D:\data\program\Python26\lib\distutils\dist.py:266: UserWarning: Unknown distribution option: 'entry_points'
      warnings.warn(msg)
    D:\data\program\Python26\lib\distutils\dist.py:266: UserWarning: Unknown distribution option: 'test_suite'
      warnings.warn(msg)
    running build
    running build_py
    creating build
    creating build\lib
    creating build\lib\twill
    ......
    running build_scripts
    creating build\scripts-2.6
    copying and adjusting twill-fork -> build\scripts-2.6
  5. 进行安装。

    D:\tmp\twill-0.9>python setup.py install
    (WARNING: importing distutils, not setuptools!)
    running install
    running build
    running build_py
    ......
    running install_scripts
    copying build\scripts-2.6\twill-fork -> D:\data\program\Python26\Scripts
    running install_egg_info
    Writing D:\data\program\Python26\Lib\site-packages\twill-0.9-py2.6.egg-info
  6. 测试一下是否可以导入。

    D:\tmp\twill-0.9>python
    Python 2.6.5 (r265:79096, Mar 19 2010, 21:48:26) [MSC v.1500 32 bit (Intel)] on win32
    Type "help", "copyright", "credits" or "license" for more information.  
    >>> import twill
      import re, base64, urlparse, posixpath, md5, sha, sys, copy
    twill\other_packages\_mechanize_dist\_auth.py:14: DeprecationWarning: the sha module is deprecated; use the hashlib module instead
      import re, base64, urlparse, posixpath, md5, sha, sys, copy
    >>>
  7. 导入是成功的,但在 Python 2.6 上会有一些弃用警告,不过在 Python 2.5 上应该不会有任何警告。

  8. 确认一下是否正确导入,你会看到 twill 及其功能,所以是的。

    >>> dir()
    ['__builtins__', '__doc__', '__name__', '__package__', 'twill']
    >>> from twill.commands import *
    >>> dir()
    ['__builtins__', '__doc__', '__name__', '__package__', 'add_auth', 'add_extra_header', 'agent', 'back', 'clear_cookies', 'clear_extra_headers', 'code', 'config', 'debug', 'echo', 'exit', 'extend_with', 'fa', 'find', 'follow
    >>>

撰写回答