系统默认自带了一个 ```bash ## 查看一下现有python的位置 whereis python python: /usr/bin/python /usr/bin/python2.7 /usr/bin/python2.7-config /usr/lib/python2.7 /usr/lib64/python2.7 /etc/python /usr/include/python2.7 ## 在一个不冲突的位置创建安装目录 mkdir -p /usr/local/python3 ```3,我们有的应用需要用到 ```bash ## 查看一下现有python的位置 whereis python python: /usr/bin/python /usr/bin/python2.7 /usr/bin/python2.7-config /usr/lib/python2.7 /usr/lib64/python2.7 /etc/python /usr/include/python2.7 ## 在一个不冲突的位置创建安装目录 mkdir -p /usr/local/python3 ```4 来运行,那我们就来为系统安装一个 ```bash ## 查看一下现有python的位置 whereis python python: /usr/bin/python /usr/bin/python2.7 /usr/bin/python2.7-config /usr/lib/python2.7 /usr/lib64/python2.7 /etc/python /usr/include/python2.7 ## 在一个不冲突的位置创建安装目录 mkdir -p /usr/local/python3 ```5 为后面的开发做准备。 ## 下载压缩包 ```bash wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tgz ``` Bash ### 创建目录 ```bash # 查看一下现有python的位置 whereis python python: /usr/bin/python /usr/bin/python2.7 /usr/bin/python2.7-config /usr/lib/python2.7 /usr/lib64/python2.7 /etc/python /usr/include/python2.7 # 在一个不冲突的位置创建安装目录 mkdir -p /usr/local/python3 ``` Bash ### 解压并安装到指定目录 ```bash tar -zxvf Python-3.6.1.tgz cd Python-3.6.1 ./configure --prefix=/usr/local/python3 make && make install ``` 错误代码 ModuleNotFoundError: No module named '_ctypes' 该错误是因为本机缺少 libffi-devel 包, 只需安装此包即可 # 安装命令 注意在安装完缺少的依赖包后,仍需重新运行对应所在的配置、编译和执行安装命令 ```shell yum install -y libffi-devel ./configure --prefix=/usr/local/python3 make && make install ``` Bash ### 链接软连接 ```bash ln -s /usr/local/python3/bin/python3 /usr/bin/python3 ln -s /usr/local/python3/bin/pip3 /usr/bin/pip ``` Bash ### 查看版本 ```bash /usr/local/python3/bin/python3 -V Python 3.6.1 ``` ### 添加 PATH 环境变量 ```bash vim ~/.bash_profile # 在现有PATH上添加/usr/local/python3/bin PATH=PATH:HOME/bin:/usr/local/python3/bin # 保存退出后,使其生效 source ~/.bash_profile # 已生效 python3 -V Python 3.6.1 # 系统自带python版本 python -V Python 2.7.5 ``` Bash 这样系统就并存了 ```bash ## 查看一下现有python的位置 whereis python python: /usr/bin/python /usr/bin/python2.7 /usr/bin/python2.7-config /usr/lib/python2.7 /usr/lib64/python2.7 /etc/python /usr/include/python2.7 ## 在一个不冲突的位置创建安装目录 mkdir -p /usr/local/python3 ```6 和 ```bash ## 查看一下现有python的位置 whereis python python: /usr/bin/python /usr/bin/python2.7 /usr/bin/python2.7-config /usr/lib/python2.7 /usr/lib64/python2.7 /etc/python /usr/include/python2.7 ## 在一个不冲突的位置创建安装目录 mkdir -p /usr/local/python3 ```7,也为后面的多应用独立环境的隔离做好了准备工作。 ## 六、pip 配置工作 ### 1. pip 介绍 > pip 是一个 Python 包管理器,用于安装、升级、卸载 Python 包(即模块或库)。它能够自动处理依赖关系,并从 Python Package Index (PyPI) 下载并安装包。简而言之,pip 是一个用于 Python 包管理的工具。 ### 2. 查看当前 pip 版本 > 查看 pip 的版本 ```bash [root@jeven Python-3.11.3]# pip -V ``` ### 3. 升级 pip 版本 > 升级 pip 版本 ```bash [root@jeven Python-3.11.3]# python3 -m pip install --upgrade pip Looking in indexes: http://mirrors.aliyun.com/pypi/simple/ Requirement already satisfied: pip in /usr/local/python311/lib/python3.11/site-packages (22.3.1) Collecting pip Downloading http://mirrors.aliyun.com/pypi/packages/08/e3/57d4c24a050aa0bcca46b2920bff40847db79535dc78141eb83581a52eb8/pip-23.1.2-py3-none-any.whl (2.1 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.1/2.1 MB 4.4 MB/s eta 0:00:00 Installing collected packages: pip Attempting uninstall: pip Found existing installation: pip 22.3.1 Uninstalling pip-22.3.1: Successfully uninstalled pip-22.3.1 Successfully installed pip-23.1.2 WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv ``` 复制 ### 4. 修改 pip.conf 配置镜像 > 修改 pip.conf 文件 ```bash mkdir -p ~/.pip vim ~/.pip/pip.conf ``` 复制 ```bash # 查看一下现有python的位置 whereis python python: /usr/bin/python /usr/bin/python2.7 /usr/bin/python2.7-config /usr/lib/python2.7 /usr/lib64/python2.7 /etc/python /usr/include/python2.7 # 在一个不冲突的位置创建安装目录 mkdir -p /usr/local/python3 ```0 复制 ### 5. 查看已安装的第三⽅模块 > 查看已安装的第三⽅模块 ```bash # 查看一下现有python的位置 whereis python python: /usr/bin/python /usr/bin/python2.7 /usr/bin/python2.7-config /usr/lib/python2.7 /usr/lib64/python2.7 /etc/python /usr/include/python2.7 # 在一个不冲突的位置创建安装目录 mkdir -p /usr/local/python3 ```1 ## 二、部署 python 应用 ### 3.1 将本地开发环境的依赖项目生成清单文件 。在本地的开发环境中,env 下执行: ```bash # 查看一下现有python的位置 whereis python python: /usr/bin/python /usr/bin/python2.7 /usr/bin/python2.7-config /usr/lib/python2.7 /usr/lib64/python2.7 /etc/python /usr/include/python2.7 # 在一个不冲突的位置创建安装目录 mkdir -p /usr/local/python3 ```2 ### 3.2 将 Python 项目上传到服务器 ### 3.3 为项目创建虚拟环境 1. 新建虚拟环境 ```bash # 查看一下现有python的位置 whereis python python: /usr/bin/python /usr/bin/python2.7 /usr/bin/python2.7-config /usr/lib/python2.7 /usr/lib64/python2.7 /etc/python /usr/include/python2.7 # 在一个不冲突的位置创建安装目录 mkdir -p /usr/local/python3 ```8 2. 切换到目录下,启用虛拟环境 ```bash # 查看一下现有python的位置 whereis python python: /usr/bin/python /usr/bin/python2.7 /usr/bin/python2.7-config /usr/lib/python2.7 /usr/lib64/python2.7 /etc/python /usr/include/python2.7 # 在一个不冲突的位置创建安装目录 mkdir -p /usr/local/python3 ```9 ```bash tar -zxvf Python-3.6.1.tgz cd Python-3.6.1 ./configure --prefix=/usr/local/python3 make && make install ```0 3. 安装依赖清单里的库 ```bash tar -zxvf Python-3.6.1.tgz cd Python-3.6.1 ./configure --prefix=/usr/local/python3 make && make install ```1 ```bash tar -zxvf Python-3.6.1.tgz cd Python-3.6.1 ./configure --prefix=/usr/local/python3 make && make install ```2 - 在指定环境下完成任务后关闭虛拟环境 这样一来在运行 python 就是全局的 python 环境,在虛拟环境下执行命令: cd env-dir/bin source activate #激活进入虚拟环境 deactivate #退出虚拟环境 ## 参考 https://blog.csdn.net/smilehappiness/article/details/117337943