如何安装Python数据库库以与Robot Framework配合使用 - API问题
我在一台64位的Windows 7电脑上,使用Python 2.7,想在robotframework中使用Python的数据库库。之前我用过一个Java的库文件,但现在我想换成Python的库。
我去github上下载了0.6版本的库。
我还从这里安装了一个安装文件和MySQL-python。
但是当我尝试安装这个数据库库(用python setup.py
build命令)时,出现了以下错误:
Traceback (most recent call last):
File "setup.py", line 25, in <module>
from DatabaseLibrary import __version__
File "src\DatabaseLibrary\__init__.py", line 15, in <module>
from connection_manager import ConnectionManager
File "src\DatabaseLibrary\connection_manager.py", line 16, in <module>
from robot.api import logger
ImportError: No module named api
我为什么没有robot.api
这个东西?我该怎么获取并安装它?或者有没有更简单的方法来安装这个Python数据库库?
3 个回答
首先,在尝试安装模块之前,确保你的模块是完整的。要使用distutils(setup.py)安装模块,你需要以管理员身份运行这个命令:
python setup.py install
这样就会运行安装程序,并告诉你是否有缺少的依赖项。
另外,你可以从这个网址安装PIP:PIP项目主页。这个页面上有关于如何安装PIP的说明。PIP是Python的一个包管理工具,类似于PHP的PEAR、Perl的CPAN或Ruby的gem。安装好PIP后,你可以用这个命令来安装软件包:
pip install <module>
问题在于我在“Python27\Lib\site-packages”的“Robot”文件夹里没有“API”文件夹,因为我没有最新版本的RF。而logger是从2011年10月开始在Robot Framework 2.6中引入的新日志记录API。(正如janne所指出的)
解决这个问题有两个方法:
这个方法经过测试可以用,但不推荐,除非你不想更新RF:编辑“robotframework-databaselibrary-0.6”中的两个文件“connection_manager.py”和“query.py”,让它们不依赖Robotframework的logger。这是一个简单快捷的修改,你只需要把“from robot.api import logger”改成“import logging”,把“logger”改成“logging”。更多细节可以查看“http://robotframework.googlecode.com/hg/doc/userguide/RobotFrameworkUserGuide.html#programmatic-logging-apis”。
重新安装Robotframework,确保“API”文件夹被创建。这是推荐的方法,因为这是最好的解决方案。
(因为评论太长,所以作为答案添加)
看起来这个数据库库使用了Robot Framework内部的一些东西,但并没有把Robot Framework列为它的依赖项。robot.api这个包是在Robot Framework 2.6版本中引入的,所以如果你升级或安装最新的Robot Framework(可以从项目页面下载),应该就能解决你的问题。