(三)安装 Python
目标是:安装Python 管理软件 -> 安装 python -> 创建虚拟环境
下面给出两种方法
方法一:使用 Pyenv
注意,此方法需要 sudo 权限
步骤一:安装 Pyenv
更新
sudo apt update
安装Python 依赖
sudo apt install -y build-essential curl libssl-dev zlib1g-dev libbz2-dev \
libreadline-dev libsqlite3-dev wget llvm libncurses-dev xz-utils tk-dev libffi-dev liblzma-dev git
sudo apt install -y build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev \
libssl-dev libreadline-dev libffi-dev libsqlite3-dev wget libbz2-dev
安装 Pyenv
curl https://pyenv.run | bash
配置环境变量
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init --path)"' >> ~/.bashrc
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bashrc
刷新命令行环境
source ~/.bashrc
步骤二:安装 Python
查看可用的python版本
pyenv install --list
使用pyenv安装新版本的Python
pyenv install 3.12.4
安装完成后,你可以设置全局Python版本:
pyenv global 3.12.4
列出所有已安装的 Python 版本,并在当前全局版本前加上一个星号(*)。
pyenv versions
查看当前的python版本
python --version
tip
不建议下载 pyenv list 中的 conda 和 anaconda 版本!
具体来说,因为 pyenv 通过修改 PATH 来管理不同的 Python 版本。而conda 也通过 PATH 变量管理不同的环境。两者的 PATH 可能会相互覆盖,因此 pyenv 和 conda 一起使用可能会导致冲突!
步骤三:创建虚拟环境
令确认当前的 Python 版本:
python --version
在当前目录下创建名为 myenv 的虚拟环境:
这会创建一个 myenv/ 文件夹,里面包 含了独立的 Python 解释器与库目录。
python -m venv myenv
激活虚拟环境
source myenv/bin/activate
激活后,命令行前缀会变成 (myenv),表示已进入虚拟环境。
退出虚拟环境
deactivate
方法二:使用 Conda
安装 Pyenv 需要 sudo 权限,但是安装 Conda 不需要。
步骤一:下载安装 Miniconda
# 进入主目录
cd ~
# 下载 Miniconda 安装脚本(适用于 Linux x86_64)
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
# 运行安装脚本(将其安装到 ~/miniconda3)
bash Miniconda3-latest-Linux-x86_64.sh
# 根据提示按 Enter,然后选择 yes,设置安装路径为:/home/chenjiayang/miniconda3
当它提示你是否初始化 shell(是否修改 .bashrc)时选择 yes。
步骤二:刷新 shell
运行以下命令以使 conda 生效:
source ~/.bashrc
如果你是使用 zsh,可以改为:
source ~/.zshrc
或者直接加 PATH(仅本次终端有效):
export PATH="$HOME/miniconda3/bin:$PATH"
步骤三:Conda 管理虚拟环境
| 任务 | 命令 | 说明 |
|---|---|---|
| 查看所有环境 | conda env list 或 conda info --envs | 显示已创建的虚拟环境 |
| 创建新环境 | conda create -n env_name | 创建空环境 |
| 创建并指定 Python 版本 | conda create -n env_name python=3.10 | 创建指定版本的 Python 环境 |
| 激活环境 | conda activate env_name | 切换进入某个虚拟环境 |
| 退出环境 | conda deactivate | 返回 base 环境或系统环境 |
| 删除环境 | conda remove -n env_name --all | 删除虚拟环境及其内容 |
| 任务 | 命令 | 说明 |
|---|---|---|
| 安装包 | conda install package_name | 安装包及其依赖 |
| 指定版本安装包 | conda install package_name=1.2.3 | 安装特定版本的包 |
| 从指定通道安装包 | conda install -c conda-forge package_name | 指定通道安装(如 conda-forge) |
| 升级包 | conda update package_name | 升级指定包 |
| 升级 Conda 自身 | conda update conda | 更新 Conda 工具 |
| 卸载包 | conda remove package_name | 删除某个包 |
| 查看已安装包 | conda list | 当前环境中的包列表 |
环境导出与克隆
| 任务 | 命令 | 说明 |
|---|---|---|
| 导出环境配置 | conda env export > environment.yml | 将当前环境导出为 YAML 文件 |
| 从 YAML 文件创建环境 | conda env create -f environment.yml | 使用导出的文件创建新环境 |
| 克隆环境 | conda create --name new_env_name --clone old_env_name | 复制已有环境 |
| 查看指定环境信息 | conda list -n env_name | 查看指定环境中的包 |
环境路径与位置
| 任务 | 命令 | 说明 |
|---|---|---|
| 查看环境所在路径 | conda info --envs | 显示环境的路径 |
| 设置默认环境目录 | conda config --add envs_dirs /path/to/envs | 设置自定义环境存储路径 |
其他实用命令
| 任务 | 命令 | 说明 |
|---|---|---|
| 清理未使用的包缓存 | conda clean --all | 释放磁盘空间 |
| 搜索包 | conda search package_name | 查找包的可用版本 |
| 检查依赖冲突 | conda install package --dry-run | 仅测试依赖是否冲突,不实际安装 |