加载程序=导入程序。查找模块(modname)属性错误:';非类型';对象没有属性';查找模块';关于jenkins job的第二次构建
我是詹金斯管道的新手。我已经创建了一个jenkins管道,它分为三个阶段加载程序=导入程序。查找模块(modname)属性错误:';非类型';对象没有属性';查找模块';关于jenkins job的第二次构建,jenkins,conda,Jenkins,Conda,我是詹金斯管道的新手。我已经创建了一个jenkins管道,它分为三个阶段 代码拉动 创建Conda环境并安装python依赖项 使用pyinstaller生成我的应用程序的二进制可执行文件 命令 删除在环境中创建的文件 二进制文件在作业的第一次构建时就成功创建。以下是詹金斯管道: pipeline{ agent any environment { PATH="/var/lib/jenkins/miniconda3/bin:$PATH" COND
- 代码拉动
- 创建Conda环境并安装python依赖项
- 使用pyinstaller生成我的应用程序的二进制可执行文件 命令
- 删除在环境中创建的文件
pipeline{
agent any
environment {
PATH="/var/lib/jenkins/miniconda3/bin:$PATH"
CONDA_ENV="my-env"
}
stages {
stage ("Code Pull"){
steps{
checkout([$class: 'GitSCM', branches: [[name: '$branch']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: '9ccfe5fe-d057-48e0-b814-2aea006e26f7', url: '$gitrepo']]])
}
}
stage('Create Conda Evironment') {
steps {
echo "Creating Conda Virtual Environment"
sh ''' conda create --yes -n ${CONDA_ENV} python==3.6.9
echo 'Environment Created Successfully'
source activate ${CONDA_ENV}
while read requirement;
do
conda install --yes $requirement || pip install $requirement;
done < requirements.txt
pip install -r requirements-dev.txt
echo 'Dependencies Installed Successfully'
'''
}
}
stage('Generate Binary Executable') {
steps{
echo "Generating Binary"
sh ''' source activate ${CONDA_ENV}
pyinstaller my_client.py --onefile --additional-hooks-dir=python/installer_utils
'''
}
}
}
post{
always{
echo "Remove Conda ENV"
sh '''export PATH="/var/lib/jenkins/miniconda3/bin:$PATH"
conda remove --yes -n ${CONDA_ENV} --all
'''
}
}
}
管道{
任何代理人
环境{
PATH=“/var/lib/jenkins/miniconda3/bin:$PATH”
CONDA_ENV=“我的环境”
}
舞台{
阶段(“代码拉动”){
台阶{
签出([$class:'GitSCM',分支:[[name:'$branch']],DoGenerateSubModuleConfiguration:false,扩展:[],submoduleCfg:[],userRemoteConfigs:[[CredentialId:'9ccfe5fe-d057-48e0-b814-2EA006E26F7',url:'$gitrepo']]))
}
}
阶段(‘创建康达环境’){
台阶{
echo“创建虚拟环境”
sh''conda create--yes-n${conda_ENV}python==3.6.9
echo“已成功创建环境”
源激活${CONDA_ENV}
同时阅读要求;
做
conda安装——是$requirement | | pip安装$requirement;
完成
但在管道的进一步构建中,我发现了以下错误
文件“/var/lib/jenkins/miniconda3/…../site packages/PyInstaller/building/utils.py”,第580行,代码为
加载程序=导入程序。查找模块(modname)
AttributeError:“非类型”对象没有“查找模块”属性
请建议修复此错误。我通过在
post
阶段擦除从SCM获取的目录解决了此问题
post{
always{
echo "Remove Conda ENV"
sh '''export PATH="/var/lib/jenkins/miniconda3/bin:$PATH"
conda remove --yes -n ${CONDA_ENV} --all
'''
cleanup{deleteDir()}
}
}
我通过在
post
阶段擦除从SCM获取的目录解决了这个问题
post{
always{
echo "Remove Conda ENV"
sh '''export PATH="/var/lib/jenkins/miniconda3/bin:$PATH"
conda remove --yes -n ${CONDA_ENV} --all
'''
cleanup{deleteDir()}
}
}