2017-07-10 3 views
0

Ich benutze Jenkins Pipeline auf CentOS 6 und ich möchte Python 3.5 Abhängigkeiten mit diesem Job Jenkins Pipeline installieren.Installation von Psycopg2 in Jenkins Pipeline fehlgeschlagen

Meine deklarative Pipeline ist,

pipeline { 
    agent any 

    stages { 
     stage('InstallPythonDeps') { 
      steps { 
       sh "./InstallPythonDeps.sh" 
      } 
     } 
    } 
} 

und InstallPythonDeps.sh ist,

export PATH=$PATH:/usr/pgsql-9.3/bin 
# I uses pyenv, pyenv-virtualenv 
sudo /var/lib/jenkins/.pyenv/versions/my-virtualenv/bin/pip install -r requirements.txt 
echo $PATH 
which pg_config 

Aber ich sah immer noch die Nachricht Error: pg_config executable not found. wenn ich psycopg2 mit pip installiert, obwohl

  • Das Ergebnis echo $PATH ist /sbin:/usr/sbin:/bin:/usr/bin:/usr/pgsql-9.3/bin
  • Das Ergebnis which pg_config/usr/pgsql-9.3/bin/pg_config

yum Libs sind,

$ sudo yum list installed | grep postgresql 
postgresql93.x86_64    9.3.16-1PGDG.rhel6   @pgdg93 
postgresql93-devel.x86_64   9.3.16-1PGDG.rhel6   @pgdg93 
postgresql93-libs.x86_64   9.3.16-1PGDG.rhel6   @pgdg93 
postgresql93-server.x86_64   9.3.16-1PGDG.rhel6   @pgdg93 

$ sudo yum list installed | grep python-devel 
python-devel.x86_64    2.6.6-66.el6_8    @updates 

Ich verstehe nicht, warum pg_config nicht gefunden, während ist pip install. Was mache ich falsch?

Antwort

0

Antwort für mich,

Ich änderte meine InstallPythonDeps Skript,

export PATH=$PATH:/usr/pgsql-9.3/bin 

export PYENV_ROOT="$HOME/.pyenv" 
export PATH="$PYENV_ROOT/bin:$PATH" 
eval "$(pyenv init -)" 
eval "$(pyenv virtualenv-init -)" 

pyenv activate psapi 
pip install -r requirements.txt 

Aber ich weiß nicht genau, warum diese Arbeit ...