Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
加载程序=导入程序。查找模块(modname)属性错误:';非类型';对象没有属性';查找模块';关于jenkins job的第二次构建_Jenkins_Conda - Fatal编程技术网

加载程序=导入程序。查找模块(modname)属性错误:';非类型';对象没有属性';查找模块';关于jenkins job的第二次构建

加载程序=导入程序。查找模块(modname)属性错误:';非类型';对象没有属性';查找模块';关于jenkins job的第二次构建,jenkins,conda,Jenkins,Conda,我是詹金斯管道的新手。我已经创建了一个jenkins管道,它分为三个阶段 代码拉动 创建Conda环境并安装python依赖项 使用pyinstaller生成我的应用程序的二进制可执行文件 命令 删除在环境中创建的文件 二进制文件在作业的第一次构建时就成功创建。以下是詹金斯管道: pipeline{ agent any environment { PATH="/var/lib/jenkins/miniconda3/bin:$PATH" COND

我是詹金斯管道的新手。我已经创建了一个jenkins管道,它分为三个阶段

  • 代码拉动
  • 创建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()}
        }
}