pyenv 安裝指令碼

scm1911發表於2019-01-06

pyenv_install.sh

#!/bin/bash
#
#********************************************************************
#Author         : shchangming
#QQ             : 414945814
#Date           : 2015-5-21
#FileName       : pyenv_install.sh
#URL            : https://www.cnblogs.com/shichangming
#Description    : The script is to install pyenv on some one home_dir
#Copyright (C)  : 2015 All rights reserved
#********************************************************************

#####Only suitable for CentOS ######

if [ $UID -ne "0" ];then
    echo "sorry, root permition needed to add user"
    exit
fi

read -p "please input a user name for project: " USER_NAME

pre_install() {
    # python will be compiled while install pyhton with pyenv, we need pre install packages depended following:
    yum install git gcc make patch gdbm-devel openssl-devel sqlite-devel readline-devel zlib-devel bzip2-devel -y && \
    id ${USER_NAME:-null} &>/dev/null
    if [ $? -ne 0 ];then
        useradd ${USER_NAME} && \
    echo "${USER_NAME}" | passwd ${USER_NAME} --stdin
    fi
    return 0
}

pyenv_install() {
    cd /home/${USER_NAME} && \
    sudo -u ${USER_NAME} git clone https://github.com/pyenv/pyenv.git .pyenv && \
    sudo -u ${USER_NAME} git clone https://github.com/pyenv/pyenv-virtualenv.git .pyenv/plugins/pyenv-virtualenv && \
    sudo -u ${USER_NAME} git clone https://github.com/pyenv/pyenv-update.git .pyenv/plugins/pyenv-update && \
    sudo -u ${USER_NAME} git clone https://github.com/pyenv/pyenv-which-ext.git .pyenv/plugins/pyenv-which-ext
    if [ $? -eq 0 ];then
        echo "OK"
    else
        echo "failed" ; exit
    fi
    echo "export PATH=\"/home/${USER_NAME}/.pyenv/bin:\$PATH\"" >> /home/${USER_NAME}/.bash_profile && \
    echo 'eval "$(pyenv init -)"'  >>  /home/${USER_NAME}/.bash_profile && \
    echo 'eval "$(pyenv virtualenv-init -)"' >>  /home/${USER_NAME}/.bash_profile && \
    #source ~/.bash_profile
    echo  -e "You can change to home of ${USER_NAME} and run the command following to test istallation:\n\nwhich pyenv\n
the initial passwd is same to user name: ${USER_NAME}, please change it immediately!"
}

main() {
    pre_install
    if [ $? -ne 0 ];then
        echo "pre install failed";exit
    fi
    pyenv_install
}
main

本文連結:https://www.cnblogs.com/shichangming/p/10229272.html

相關文章