我有一个使用py.test在travis-ci中测试的应用程序。我们的想法是将它推送到travis-ci,后者在lib
文件夹中下载并安装所需的模块,以便GAE
正常运行。这就是我的travis文件:
语言:python sudo:假的 蟒蛇: - '2.7'
cache:
- pip
addons:
apt:
packages:
- python-protobuf
before_install:
- openssl <credential stuff>
- pip install --upgrade pip
- mkdir -p lib
install:
- pip install -r requirements.txt -t lib/
script:
- PYTHONPATH="$(pwd):$(pwd)/lib:${PYTHONPATH}"
- export PYTHONPATH
- echo ${PYTHONPATH}
- pytest tests/
deploy:
provider: gae
...
<deploy stuff>
问题是,当我运行py.test时,它会忽略lib
文件夹中安装的模块。当我在测试脚本中运行以下内容时:
import sys
sys.path.append("/home/travis/build/AndersenLab/CeNDR/lib/")
他们仍然没有得到承认。进一步 - 如果我运行这个:
import pip
print(pip.get_installed_distributions())
无法识别lib文件夹中的模块。它们无法导入。以下是travis-ci结果的示例:https://travis-ci.org/AndersenLab/CeNDR/builds/176450179