多个版本的python共存时使用pip的正确做法

  • Post category:Python

当我们需要在一台机器上同时安装多个版本的Python时,由于系统默认的pip命令是针对系统自带的Python版本的,这时候就需要使用到虚拟环境以及特定版本的pip命令。

以下是多个版本的Python共存时使用pip的正确做法的完整攻略:

1. 安装Python多版本管理工具pyenv

pyenv是一个多版本Python管理工具,可以方便地在一台机器上同时安装多个Python版本,同时也可以切换默认Python版本。

首先需要安装pyenv,在Ubuntu系统中可以使用以下命令进行安装:

$ curl https://pyenv.run | bash

安装完成后,需要在~/.bashrc或~/.zshrc文件中添加以下代码:

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

2. 切换到指定的Python版本并创建虚拟环境

在pyenv中,可以通过以下命令安装指定版本的Python:

$ pyenv install 3.8.5

安装完成后,可以使用以下命令切换到指定版本的Python:

$ pyenv shell 3.8.5

接下来需要创建虚拟环境,在Linux系统中可以使用以下命令创建:

$ python -m venv /path/to/venv

3. 使用特定版本的pip安装需要的库

开发中需要的Python库很多,需要使用pip命令进行安装。但是在多版本的Python共存环境下,不能使用系统默认的pip命令进行安装,需要使用特定版本的pip进行安装。

在venv虚拟环境中使用pip命令时,需要指定使用venv中的pip:

$ /path/to/venv/bin/pip install package_name

或者可以进入venv虚拟环境内,再使用pip命令进行安装:

$ source /path/to/venv/bin/activate
(venv) $ pip install package_name

这样就可以使用指定版本的pip命令来安装需要的库了。

示例说明

示例1:安装指定版本的Python和pip,并切换到指定版本的Python

$ pyenv install 3.8.5
$ pyenv shell 3.8.5
$ curl -sS https://bootstrap.pypa.io/get-pip.py | python
$ python -m venv /home/user/project/venv

这样就安装了Python3.8.5和对应版本的pip,并切换到了Python3.8.5版本,同时在项目目录下创建了虚拟环境venv。

示例2:使用虚拟环境和特定版本的pip安装需要的库

$ source /home/user/project/venv/bin/activate
$ /home/user/project/venv/bin/pip install Django

这样就进入了虚拟环境venv中,并通过venv中的pip安装Django库。可以使用pip list命令查看已安装的库。