为什么travis-ci找不到看似成功安装的库

0 投票
1 回答
711 浏览
提问于 2025-04-17 19:38

我有一个小的Python网页抓取工具,它依赖于BeautifulSoup这个库,具体可以在这里找到:https://github.com/fgregg/legistar-scrape。我在本地测试的时候一切都很顺利,但在travis-ci上运行时,nosetests立刻报错,因为找不到BeautifulSoup,虽然看起来它刚刚安装完这个库。

这是Travis-CI的构建日志:https://travis-ci.org/fgregg/legistar-scrape/jobs/5628189

有什么建议吗?

1 个回答

1

建议

把这个改成这样:

install: "sudo pip install -r requirements.txt"

改成这个:

install: "pip install -r requirements.txt"

想了解怎么用,可以查看这里

概念验证

我把你的GitHub项目复制了一份,添加到我的travis-ci账户里,做了我建议的修改,提交并推送到GitHub。这里有两个成功的travis-ci构建记录:python 2.6python 2.7

虚拟环境

你在做Python开发的时候,有使用虚拟环境吗?还是在本地运行时用sudo pip install -r requirements.txt?我建议你看看虚拟环境,别再用sudo pip install了。现在大多数Python开发者都是这么做的。而travis-ci也是这样工作的:它会创建一个虚拟环境,然后从这个环境中运行你的应用。

Nosetests

另外,你的nosetests运行得很慢,因为你在做集成测试——你是在访问互联网上的真实服务器,对吧?可以查一下怎么使用mock库,这样你就可以模拟从你的网址返回的HTML,而不是实际访问那些服务器。

撰写回答