使用virtualenv等python虚拟环境

0 写在前面

  • 为什么需要python虚拟环境管理?

解决python多版本冲突问题,比如有的工程需要用1.18.1版本的numpy,有的需要1.14.1版本的numpy,尤其是torch这样版本改动较大的模块。但是download别人代码时,系统同时安装多个版本容易发生错误,更要建立虚拟环境运行。

  • 虚拟环境方法review

本部分主要参考知乎,大概有四种方法,见下文

1 virtualenv

1.1 安装

pip3 install virtualenv

1.2 创建环境

首先cd到工程路径
输入命令virtualenv venv就会在当前路径下生成venv文件夹,这就是虚拟环境所在位置,激活环境之后pip安装的包都会在‘’venv/site-packages‘’路径下
如果要指定python版本,可用如下命令,前提是电脑有相应版本:

virtualenv venv --python=python2.7

1.3 激活环境

根目录(工程目录)下,执行source venv/bin/activate激活环境,注意在WINDOWS中没有source命令,可直接执行venvinactivate激活。

1.4 退出环境

输入deactivate或者利用终端命令CRTL+D

1.5 删除环境

直接删除venv文件夹

1.6 其他操作

  • 查看当前安装的库
    pip3 freeze

  • 创建 requirements.txt文件
    pip3 freeze > requirements.txt

  • 一键安装所有包
    pip3 install -r requirements.txt

  • 复制环境
    直接将venv文件夹复制到另一个工程目录下

2 virtualenvwrapper

本部分略,自查

3 conda

暂不使用conda,略

4 pipenv

4.0 写在前面

介绍说是综合了 virtualenv , pip 和 pyenv 三者的功能,但实际上在国内并不好用,即便换国内源,安装包以及lock的时候的时候没有virtualenv快,但优点是只有Pipfile和Pipfile.lock 两个文件比较简便和小巧(virtualenv创建的环境大小上G而pipenv只有几百k),因此建议运行别人工程时用virtualenv,需要将自己工程推给别人的时候用pipenv。

安装之前首先要将系统pip换成国内源,参考CSDN

4.1 安装

pip3 install pipenv

4.2 创建环境

cd到工程目录

运行pipenv shell自动生成Pipfile并且进入虚拟环境,此时先把Pipfile中的url = "https://pypi.tuna.tsinghua.edu.cn/simple"换成国内清华源url = "https://pypi.tuna.tsinghua.edu.cn/simple

然后pipenv lock生成lock文件

4.3 使用环境

使用pip命令时用pipenv替换,如pip3 install numpy改为pipenv install numpy,其他一样

4.4 退出环境

终端命令CRTL+D

4.5 删除环境

pipenv --rm

4.6 其他操作

  • 查看当前安装的库或者依赖
    pipenv graph
  • 也可以生成requirements.txt文件
    pipenv lock -r --dev > requirements.txt
  • 也可以通过requirements.txt安装包
  • 复制环境
    将Pipfile和Pipfile.lock两个文件复制到新的工程路径下,进入环境后使用pipenv sync同步即可
    pipenv install -r requirements.txt
  • 更多细节可参考腾讯云
原文地址:https://www.cnblogs.com/hzcya1995/p/13281721.html