我正在使用Jenkins测试我开发的Python模块^{
File "/var/lib/jenkins/jobs/NodePy/workspace/convergence.py", line 6, in workspace.convergence
Failed example:
from nodepy import rk, convergence, ivp
Exception raised:
Traceback (most recent call last):
File "/usr/lib/python2.7/doctest.py", line 1289, in __run
compileflags, 1) in test.globs
File "<doctest workspace.convergence[0]>", line 1, in <module>
from nodepy import rk, convergence, ivp
ImportError: No module named nodepy
如何在Jenkins中设置PYTHONPATH(以便我的模块是可导入的)?
我甚至不确定该添加哪个目录。似乎Jenkins把东西放在Jenkins/jobs/nodepy/workspace/中,所以目录甚至没有python找到它的正确名称。
编辑:
python模块^{git
存储库,我已经将jenkins作业配置为监视和签出。
结果我只需要按照this question的答案,就可以让詹金斯将我的repo克隆到一个子目录中。由于Jenkins运行构建
workspace
,因此它会找到包。当我第一次这样做时,它以某种方式创建了nodepy/nodepy/nodepy/…的无限递归。。。目录。当我离开工作区后,这个问题就消失了。
Manage Jenkins
,然后System Configuration
)sys.path.append
。例如
或者,在jenkins构建配置中,使用配置构建步骤(如果是shell脚本的话):
包裹问题
这是一个问题,因为没有
nodepy
目录。因此,即使您放置了正确的syspath,您的包结构也不会正确。您可以做的是更改工作区的外观,从:到
编辑:在正确的子目录中提取文件
你的工作区将会是
您不需要更改工作区目录,它是根据您的作业名称(
NodePy
)和jenkins配置设置的,您只需要在工作区中创建nodepy
目录,然后将文件放到那里。您可以change your jenkins job configuration让它签出正确子目录中的git
reponodepy
,也可以自己移动文件:作为测试过程的一部分,您应该安装
nodepy
。Jenkins和其他测试驱动开发工具需要能够在安装的代码更改时更新它(以及验证安装过程是否正常工作),正确的方法是使用.pth
链接或在签出后安装它。如果只想使用github中的签出存储库,可以从workspace
目录插入以下shell命令:相关问题 更多 >
编程相关推荐