在Ubuntu 10.04上运行dogtail示例脚本

3 投票
3 回答
1465 浏览
提问于 2025-04-16 04:52

我最近安装了Dogtail,这是一个开源的图形用户界面测试工具和自动化框架。我把一个示例脚本下载到了我的电脑上(链接:https://fedorahosted.org/dogtail/browser/examples/gedit-test-utf8-tree-api.py?format=txt),但是在运行的时候遇到了问题。当我尝试运行它时,出现了一个提示信息:

corey@corey-laptop:~/Desktop/exercise$ ./gedit-test-utf8-tree-api.py 
Traceback (most recent call last):
  File "./gedit-test-utf8-tree-api.py", line 6, in <module>
    from dogtail import tree
  File "/home/joe/Desktop/exercise/dogtail.py", line 6, in <module>
    from dogtail import tree
ImportError: cannot import name tree

我使用的是Ubuntu 10.04。我不太明白为什么这个脚本不能运行,或者该怎么解决这个问题。有没有什么建议?

3 个回答

1

我的问题解决了,因为我把dogtail安装在了/usr/local,而不是/usr。安装的时候我运行了命令:./setup.py install --prefix=/usr/local。

1

从你的错误信息来看,似乎你还没有安装dogtail。

你是在~/Desktop/exercise这个文件夹里运行的。

dogtail.py文件就在这个文件夹里,它应该是一个叫做dogtail的包,里面有一个叫做tree.py的文件。这个dogtail.py是你自己写的吗,还是dogtail框架的一部分?

这里面有些问题。

3

不要把文件命名为 dogtail,放在 /home/joe/Desktop/exercise 这个文件夹里:

  File "/home/joe/Desktop/exercise/dogtail.py", line 6, in <module>
    from dogtail import tree

因为这样的话,Python 会优先导入你自己写的 dogtail.py 文件,而不是位于 /usr/share/python-support/python-dogtail/dogtail 这个地方的包。

为了验证这个想法,你可以打开 Python 解释器,然后输入:

import dogtail
dogtail.__file__

这样可以查看 dogtail 是从哪里来的。

撰写回答