- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试将 TravisCI 集成到我的工作流程中,并意识到由于我的旧目录结构(没有独立的、virtualenv
-able git repos),我有一些依赖关系。
当我尝试在本地运行 nosetests
时,它运行测试很好;当 TravisCI 尝试运行它们时,它会失败,并出现 import
错误。具体来说,我有,作为我的测试脚本中的一行:
from myproject import something
我的目录结构在我的 git 仓库中 myproject
是这样的:
.travis.yml
requirements.txt
something.py
tests/
test_something.py
nose
添加到其 requirements.txt
的 virtualenv,并且测试始终在本地通过。我觉得我仍然不了解绝对导入与相对导入,我无法判断这是在这里发挥作用,还是我只是在我的项目中做一些明显而愚蠢的事情。
期望的结果:找出 TravisCI 失败的原因,并相应地修复我的存储库,这样我就可以在本地和 TravisCI 上提交并正确构建东西。如果这需要更剧烈的改变,比如“你应该有一个对环境做废话的 setup.py
”或类似的 - 请告诉我。我是 Python 这方面的新手,发现当前文档非常不清楚。
仅供引用,我找到了 this question并添加 --exe
没有帮助,或者似乎是同一个问题。
最佳答案
我看到没有答案,我遇到了同样的问题,所以我在这里发帖希望能帮助别人:
我的快速修复是在 .travis.yml
中添加此行 export PYTHONPATH=$PYTHONPATH:$(pwd)
:
before_install:
- "pip install -U pip"
- "export PYTHONPATH=$PYTHONPATH:$(pwd)"
有一个 setup.py
应该是默认选项,因为它是最优雅的,配置如下:
from setuptools import setup, find_packages
setup(name='MyPythonProject',
version='0.0.1',
description='What it does',
author='',
author_email='',
url='',
packages=find_packages(),
)
然后在.travis.yml
中加入这一行
before_install:
- "pip install -U pip"
- "python setup.py install"
更改项目的布局,使测试文件夹位于应用程序一(具有核心 python 代码的那个)下,例如:
.travis.yml
requirements.txt
app
|_ tests
| |_ test_application.py
|_ application.py
并在 travis 中运行测试,覆盖率和 nosetest 如下:
script:
- "nosetests --with-coverage --cover-package app"
关于Python 导入在 travisCI 上失败但在本地失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35972415/
我已经使用iOS从TravisCI成功地部署到了Crashlytics,现在我正在处理我们的Android项目。 我看过此链接:http://support.crashlytics.com/knowl
我正在尝试使用 TravisCI测试具有音频功能的 SDL 应用程序(但测试不需要它)。 当我在 Travis 的虚拟机中启动应用程序时,它退出时: ALSA lib confmisc.c:768:(
以下代码块应该写入现有文件,如果不存在则创建一个新文件: with open("test.txt", "w") as f: f.write("test") 但是,pytest 在 Travis
使用 Travis CI,我可以允许像 Ruby 1.8.7 这样的语言失败: matrix: allow_failures: - rvm: 1.8.7 我可以允许某些环境变量失败 mat
我正在尝试在TravisCI中启动一个容器,然后对其添加一些docker exec。但这每次都会失败,并显示255个错误代码。 我不明白的是,该过程在本地运行良好。 然后,我用标准容器(ubuntu)
我正在使用 TravisCI's Build Stages将我的工作分为两个阶段: 在多个环境中构建和测试。 如果第 1 阶段通过,则构建并部署。 我想让 Travis 在提交到两个 GitHub 分
我正在测试我的 GitHub 集成 Travis CI/Grunt 构建,即使我的测试失败,它似乎也没有失败。 可以看到here我的两个作业“jshint”和“qunit”都失败了: Warning:
我开始了解 TravisCI。它非常适合测试语法错误并解决它们,但如果这是它提供的唯一功能,那么我认为 Travis 不值得进行测试。我唯一的问题是,TravisCI 是否会自动测试用户使用应用程序时
Travis-CI 不会构建我的项目,并发出此错误: ... running egg_info creating myproject.egg-info writing requirements to
我尝试运行我的配置但它失败了。 这是我的配置: language: android jdk: oraclejdk8 env: matrix: - ANDROID_TARGET=android
我使用 Docker 来运行我的 PHP 应用程序。现在我想让 Travis CI 测试我的应用程序。但是我所有的构建都失败了,因为容器无法打开我应用程序的/temp 目录中的文件。 我有数据容器:
我有用 JavaScript 编写的测试,我使用 TravisCI用于测试。 设置 我的 package.json 是这样的: "scripts": { "test": "node testsRu
我正在尝试将 TravisCI 集成到我的工作流程中,并意识到由于我的旧目录结构(没有独立的、virtualenv-able git repos),我有一些依赖关系。 当我尝试在本地运行 nosete
我正在尝试在 Travis-CI 上使用 PhantomJS 运行视觉差异。测试失败并显示 the following error : test failed 0.188123 distortio
我目前正在 github 上开发一个与 Raspberry Pi 相关的项目,我想将其附加到某种 CI 系统,以便贡献者可以查看他们是否破坏了东西,而无需构建电路(该项目涉及 GPIO 引脚) 。 T
开始构建 TravisCI 时,我得到: Java home: /usr/lib/jvm/java-8-oracle/jre 我需要 JAVA_HOME 来指向 JDK。我能以某种方式做到这一点吗?
我能够测试和构建 my project在我的本地机器上,但是当我想要 TravisCI 构建项目时,它说: error: macro undefined: 'assert_ne!' 我有added t
设置我的 python 项目(在 GitHub 上)到 PyPi 的自动发布应该相当容易:https://docs.travis-ci.com/user/deployment/pypi/ 因此,我将以
我有一个用 Ruby 编写的 Logstash 插件,它在 TravisCI 上开始失败,但它在本地工作。知道这意味着什么吗? $ bundle exec rspec spec The signal
我有一个项目有 Protractor 测试,由 TravisCI 通过 SauceLabs 执行。 其中一项测试涉及“上传”文件: it('should not allow "image/jpeg"
我是一名优秀的程序员,十分优秀!