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
- 更多细节可参考腾讯云