什么是虚拟环境?为什么要安装虚拟环境?
当我们要开发一个项目时,需要安装一些软件或者依赖包,而不同的项目,可能对于环境的要求不一样(工具或者需要的包不一样),这时,一个环境就不能满足要求,需要多个环境相对独立运行自己的代码,虚拟环境就可以解决这个问题
Python中关于虚拟环境有两种管理方式:
1、安装virtualenv和virtualenvwrapper-win管理工具
2、最新技术pipenv(集成了pip和virtualenv两者的功能)
cmd中
创建文件夹命令:mkdir [name]
切换目录:cd [name]
准备工作:
在cmd中安装virtualenv:
1。pip install virtualenv(虚拟环境:为不同的项目提供相对独立的运行环境,每个虚拟环境是独立的)
安装pip install virtualenvwrapper-win(Windows下虚拟环境下管理包,如果是mac下没有后面的-win)
2、在电脑上创建一个存放虚拟环境的目录(推荐命名为.env 或者 .virtualenv,不要中文命名)
mddir .env
3、创建好后配置环境变量 WORKON_HOME:上面创建的目录路径
在cmd中创建虚拟环境
命令:mkvirtualenv -p python flask_py3 ( mkvirtualenv -p Python解释器版本(默认是Python3) 虚拟环境文件名)如果电脑上只有一个Python版本,就会默认去找电脑上的Python版本 创建flask_py3的虚拟环境
常用命令:
workon 列出所有的虚拟环境
workon [name] 进入指定的虚拟环境
deactivate 退出当前的虚拟环境
mkvirtualenv [name] 创建虚拟环境
rmvirtualenv [name] 删除虚拟环境
虚拟环境中安装包,直接使用pip install 进行安装 例如:pip install requests
第二种方式:
准备工作
在项目路径下安装pipenv(注意:要在项目路径里面安装) : pip install pipenv,
初始化虚拟环境:pipenv install , 安装好后,会在当前目录下自动生成两个文件profile和profile_lock
pipfile里面存放下载包的源地址,package(默认下载的包安装在这里)和dev_package开发环境安装包,pipfile_locK加密存放安装的包及其依赖包,在恢复环境时很有用处
pipenv install 【package_name】 安装包命令(默认安装在package下)
pipenv install [package_name] --dev 指定安装在dev路径下
pipenv uninstall 包名
pipenv graph 查看依赖包和安装包关系
pipenv lock -r --dev > requirements.txt 生成requirements.txt文件
pipenv install -r requirements.txt 通过requirements.txt安装环境
相关命令:
pipenv --rm 删除虚拟环境(注:需要在打算删除的虚拟环境路径下才可以,而virtualenv没有指定的路径,随便删除某个环境)
pipenv --where 列出本地工程路径
pipenv --venv 列出虚拟环境路径
pipenv --py 列出当前虚拟环境用的Python解释器
pipenv --lock 生成lock文件
pipenv --rm 删除虚拟环境
pipenv --shell 激活虚拟环境
exit 退出虚拟环境
怎么恢复环境?
比如,现在开发的项目需要挪到服务器上,我们把文件整个拷贝到服务器,并在服务器该项目路径下运行pipenv install ,他就会根据项目下的pipfile 和 pipfile_lock去还原项目运行环境
我们还可以通过requirements.txt这个文件来恢复,先用 pipenv lock -r --dev > requirements.txt 生成requirements.txt文件 , pipenv install -r requirements.txt 通过requirements.txt安装环境