├── README.md └── pyinstall.sh /README.md: -------------------------------------------------------------------------------- 1 | # Python环境一键安装脚本,适用于Linux 2 | 3 | 这是一个用于在 Linux 系统上一键安装 Python 的脚本。该脚本使用 curl 或 wget 命令从 GitHub 下载并执行,可以帮助你快速安装 Python。 4 | 5 | ## 使用方法 6 | 7 | ### 1. 复制以下命令并在终端中运行: 8 | 9 | ```shell 10 | curl -O https://raw.githubusercontent.com/lx969788249/lxspacepy/master/pyinstall.sh && chmod +x pyinstall.sh && ./pyinstall.sh 11 | ``` 12 | 13 | 14 | 国内: 15 | 16 | ```shell 17 | curl -O https://gh-proxy.com/raw.githubusercontent.com/lx969788249/lxspacepy/master/pyinstall.sh && chmod +x pyinstall.sh && ./pyinstall.sh 18 | ``` 19 | 20 | 21 | ### 2. 按照提示进行操作 22 | 23 | 运行脚本后,你将看到一些提示信息,例如选择要安装的 Python 版本、安装目录等。按照提示进行操作即可完成安装。 24 | 25 | ## 注意事项 26 | 27 | - 运行脚本需要在 Linux 终端下执行。 28 | - 需要根据当前系统的架构选择合适的版本,否则可能会安装失败。 29 | - 如果您已经安装了 Python,请不要重复安装。 30 | 31 | ## 其他 32 | 33 | 个人网站:[lxspace.top](https://lxspace.top/) 34 | 35 | 免责声明:本脚本仅供学习和交流使用,请勿用于非法用途,由此引起的任何法律问题与本脚本作者无关。 36 | -------------------------------------------------------------------------------- /pyinstall.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | #python支持库函数,我也是百度搜索的,看自己系统库看却什么加什么库 3 | #by:LingFeng 4 | function Supportlibraries() 5 | { 6 | [ `dpkg-query -l | grep build-essential |wc -l` -eq "0" ]&&{ 7 | echo "缺少build-essential开始安装" 8 | apt install build-essential -y 9 | } 10 | [ `dpkg-query -l | grep libncurses5-dev|wc -l` -eq "0" ]&&{ 11 | echo "缺少libncurses5-dev开始安装" 12 | apt install libncurses5-dev -y 13 | } 14 | [ `dpkg-query -l | grep libgdbm-dev |wc -l` -eq "0" ]&&{ 15 | echo "缺少libgdbm-dev开始安装" 16 | apt install libgdbm-dev -y 17 | } 18 | [ `dpkg-query -l | grep libnss3-dev |wc -l` -eq "0" ]&&{ 19 | echo "缺少libnss3-dev开始安装" 20 | apt install libnss3-dev -y 21 | } 22 | [ `dpkg-query -l | grep libssl-dev |wc -l` -eq "0" ]&&{ 23 | echo "缺少libssl-dev开始安装" 24 | apt install libssl-dev -y 25 | } 26 | [ `dpkg-query -l | grep libreadline-dev |wc -l` -eq "0" ]&&{ 27 | echo "缺少libreadline-dev开始安装" 28 | apt install libreadline-dev -y 29 | } 30 | [ `dpkg-query -l | grep libffi-dev |wc -l` -eq "0" ]&&{ 31 | echo "缺少libffi-dev开始安装" 32 | apt install libffi-dev -y 33 | } 34 | [ `dpkg-query -l | grep zlib1g-dev |wc -l` -eq "0" ]&&{ 35 | echo "缺少zlib1g-dev开始安装" 36 | apt install zlib1g-dev -y 37 | } 38 | 39 | [ `dpkg-query -l | grep make |wc -l` -eq "0" ]&&{ 40 | echo "缺少make开始安装" 41 | apt install make -y 42 | } 43 | } 44 | #字符串效验 45 | function is_exists_arg() { 46 | local version=$1 47 | if [ -z $version ];then 48 | echo "缺少版本号参数!" 49 | exit 1 50 | fi 51 | } 52 | #判断是否安装 53 | function is_exists_python() { 54 | local version=$1 55 | local v=(${version//./ }) 56 | if [ -e $python_path ] && [ -e $pip_path ] && [ -e $python_bin_path ] && [ -e $pip_bin_path ];then 57 | return 0 58 | else 59 | return 1 60 | fi 61 | } 62 | 63 | cat << END 64 | 欢迎使用python管理器。请选择你需要的使用的功能 65 | 1.安装python(可选择版本:https://www.python.org/ftp/python) 66 | 2.查看已经安装的python 67 | 3.修改默认python 68 | 4.卸载python 69 | 请输入你的选择: 70 | END 71 | 72 | read parameter 73 | echo "你选择了:$parameter" 74 | if [ "$parameter" -eq "1" ];then 75 | echo "请输入版本号(例子: 3.9.9)" 76 | read version 77 | #检测有效性 78 | is_exists_arg $version 79 | v=(${version//./ }) 80 | 81 | install_path="/usr/local/python-$version" 82 | python_path="$install_path/bin/python${v[0]}.${v[1]}" 83 | python_bin_path="/usr/bin/python${v[0]}.${v[1]}.${v[2]}" 84 | pip_path="$install_path/bin/pip${v[0]}.${v[1]}" 85 | pip_bin_path="/usr/bin/pip${v[0]}.${v[1]}.${v[2]}" 86 | 87 | #判断是否安装 88 | is_exists_python $version 89 | 90 | if [ $? == 0 ] 91 | then 92 | echo -e "\e[1;31mPython$version 已存在!\e[m" 93 | echo "安装位置:$python_path" 94 | echo " $pip_path" 95 | echo "软连接: $python_bin_path" 96 | echo " $pip_bin_path" 97 | exit 1 98 | fi 99 | 100 | 101 | echo -e "Python版本号:\e[1;33m$version\e[m" 102 | Supportlibraries 103 | [ ! -e "./Python-$version.tgz" ]&&{ 104 | echo "开始下载 Python-$version.tgz" 105 | #使用华为国内镜像 106 | #官方镜像地址 https://www.python.org/ftp/python/$version/Python-$version.tgz 107 | wget https://www.python.org/ftp/python/$version/Python-$version.tgz 108 | clear 109 | [ "$?" -eq "0" ] &&{ 110 | echo "下载成功,准备安装" 111 | sleep 1 112 | } 113 | } 114 | #下面是正常的操作步骤命令,可以修改为自己符合的 115 | # 解压python 116 | tar -zxvf Python-$version.tgz 117 | # 进入目录 118 | cd Python-$version 119 | ./configure --prefix=$install_path 120 | make && make install 121 | 122 | # 配置软连接 123 | ln -s $python_path $python_bin_path 124 | ln -s $pip_path $pip_bin_path 125 | 126 | is_exists_python $version 127 | if [ $? == 0 ] 128 | then 129 | echo -e "\e[1;mPython $version 安装成功!\e[m" 130 | echo "安装位置:$python_path" 131 | echo " $pip_path" 132 | echo "软连接: $python_bin_path" 133 | echo " $pip_bin_path" 134 | #添加到alternatives 135 | sudo update-alternatives --install /usr/bin/python python /usr/bin/python$version 1 136 | exit 0 137 | else 138 | echo -e "\e[1;31mPython $version 安装失败!请确保有root权限正确\e[m" 139 | exit 0 140 | fi 141 | fi 142 | 143 | if [ "$parameter" -eq "2" ];then 144 | echo "当前安装的路径和python版本(如果报错则没有任何版本)" 145 | pythonDir=`ls /usr/local | grep '^python*'|awk '{printf "%s\n",$1}'` 146 | for dr in $pythonDir 147 | do 148 | echo $dr 149 | done 150 | echo "当前系统默认版本:" 151 | python --version 152 | fi 153 | #配置默认版本 154 | if [ "$parameter" -eq "3" ];then 155 | update-alternatives --config python 156 | fi 157 | #卸载模块 158 | if [ "$parameter" -eq "4" ];then 159 | read -p "请输入要卸载的python版本号(例:3.9.9):" vr 160 | #检测有效性 161 | is_exists_arg $vr 162 | [ ! -e "/usr/local/python-$vr" ] &&{ 163 | echo "没有此版本,请先核对哦!" 164 | exit 1 165 | } 166 | #删除文件 167 | rm -rf /usr/local/python-$vr &>>/dev/null 168 | #删除软连接 169 | rm -rf /usr/bin/python$vr &>>/dev/null 170 | rm -rf /usr/bin/pip$vr &>>/dev/null 171 | #删除alternatives 172 | update-alternatives --remove python /usr/local/python$vr &>>/dev/null 173 | echo "卸载完毕!" 174 | fi 175 | --------------------------------------------------------------------------------