有没有简单的方法来导出我的脚本需要的libs,以便我可以将所有文件放入git repo并从Jenkins运行脚本而无需安装任何东西?
上下文: 没有一些python库的远程Jenkins(RO - 无法访问终端) 需要运行我需要外部库的脚本,例如paramiko,requests等
我已尝试过freeze.py
但在制作阶段失败
我在这里找到了一些关于freeze.py
,p2exe
,p2app
的文章,但没有一篇帮助过我。
答案 0 :(得分:0)
您可以使用virtual environment在工作区中安装所需的python依赖项。简而言之,这将设置本地版本的python和pip,您可以在不影响系统安装的情况下安装软件包。使用虚拟环境也是确保来自一个作业的依赖关系不会影响其他作业的好方法。此解决方案确实需要在构建计算机上安装pip和virtualenv。
您的构建步骤应该执行以下操作:
virtualenv venv
. venv/bin/activate
pip install -r requirements.txt
# ... perform build, tests ...
如果将构建分成几个步骤,则后续步骤中将无法使用activate
脚本中设置的环境变量。您需要在每个步骤中获取activate
脚本,或者调整PATH
(例如,通过EnvInject)以便运行virtualenv python。