返回错误“ OSError:否此类文件或目录”.我们试图通过shellCommand中的builder命令激活新创建的虚拟环境venvCI,似乎无法激活virtualenv venvCI.在这种环境中只是新手,所以请帮助我们.谢谢.
from buildbot.steps.shell import ShellCommand
factory = util.BuildFactory()
# STEPS for example-slave:
factory.addStep(ShellCommand(command=['virtualenv', 'venvCI']))
factory.addStep(ShellCommand(command=['source', 'venvCI/bin/activate']))
factory.addStep(ShellCommand(command=['pip', 'install', '-r','development.pip']))
factory.addStep(ShellCommand(command=['pyflakes', 'calculator.py']))
factory.addStep(ShellCommand(command=['python', 'test.py']))
c['builders'] = []
c['builders'].append(
util.BuilderConfig(name="runtests",
slavenames=["example-slave"],
factory=factory))
解决方法:
由于构建系统为每个ShellCommand创建了一个新Shell,因此您无法提供env / bin / activate,因为它只会修改活动Shell的环境.当Shell(Command)退出时,环境消失了.
您可以做的事情:
>为每个ShellCommand手动提供环境(阅读内容
激活吗)env = {…}
>创建一个bash脚本,在其中运行所有命令
单个外壳(我在其他系统中所做的事情)
例如
myscript.sh:
#!/bin/bash
source env/bin/activate
pip install x
python y.py
Buildbot:
factory.addStep(ShellCommand(command=['bash', 'myscript.sh']))