python的虚拟环境
关于python的虚拟环境
虚拟环境是一个独立的局部的 Python 环境,完全模拟系统全局 Python 环境的使用,包括安装、卸载包到逻辑操作等,可以让采用不同环境的项目互不干扰。
一、虚拟环境的创建
虚拟环境本身也是一个第三方安装包
安装方法:pip install virtualenv
帮助文档:https://virtualenv.pypa.io/en/stable/userguide/
python2 和 python3的虚拟环境?
- dos > D:
- cd /file_dir
- python -m venv create_file_ven
- or: virtualenv -p /user/local/bin/pythonx.x create_file_ven
虚拟环境文件包括:Python解析器/包管理工具(setuptools, pip, wheel)/第三方包等。
--system-site-packages
二、虚拟环境的激活和退出
- 切换到虚拟环境所在的目录下,cd /file_dir
- 运行create_file_ven\Scripts\activate
- 退出虚拟环境deactivate
pip --version 和 pip list
三、在虚拟环境中安装第三方包和文件的调用
- 安装第三方包:pip install that_you_needs
- 运行程序:python xx.py
- 打开IDLE:python -m idlelib.idle
- 退出python环境:Ctrl+z
四、虚拟环境文件的导出和导入
项目交接:
- 将项目连同虚拟环境一起拷出
- 在虚拟环境中冻结和安装依赖需求文本
pip freeze > requirements.txt
pip install -r requirements.txt
五、虚拟环境 管理--virtualenvwrapper
帮助文档“https://virtualenvwrapper.readthedocs.io/en/latest/”
- virtualenvwrapper的优点
- 通过virtualenvwrapper创建的虚拟环境都会统一存放到指定位置统一管理
- 方便在多个虚拟环境间切换
- 更加方便的去使用 virtualenv
- 常用的命令行
- 快速创建虚拟环境并激活:mkvirtualenv venv1
- 快速在多个虚拟环境中切换:workon venv2
- 快速关闭虚拟环境:deactivate
- 快速删除虚拟环境:revirtualenv env1
- 查看所有创建的虚拟环境:dirvirtualenv
- virtualenvwrapper的缺点
- 只是对 virtualenv 的使用封装,包的安装及虚拟环境的操作依然是分离的
- 并未具备对项目包的依赖管理及需求文本的生成操作封装
六、虚拟环境 管理--pipenv
- pipenv的优点
- 是 pip + virtualenv 结合体,解决了virtualenvwrapper弊端
- 会自动帮你创建虚拟环境,以及安装三方库
- 会自动的记录你的项目依赖的所有三方库
- 使用 pipfile 和 pipfile.lock取代了 requirements.txt
- 帮助文档https://pypi.org/project/pipenv/
- pipenv 命令都是参照项目中的 Pipfile 位置和内容操作的
- 创建虚拟环境
- dos > D:
- cd /file_dir
- 指定定参考python版本:pipenv --two 或pipenv --three
- 查看相关信息:pipenv --where;pipenv --venv;pipenv --py
- 激活虚拟环境:pipenv shell
- 激活状态下的操作
- python xx,py
- pipenv install requests
- 检测当前项目对应的虚拟环境是否存在,不存在则创建
- 如果当前项目已经存在 Pipfile 和 Pipfile.lock 文件,则参照这两个文件内容创建虚拟环境并安装文件指定的三方库
- 在虚拟环境中安装指定三方库,如果没有指定,则不安装
- 在项目目录下,通过 Pipfile 和 Pipfile.lock 记录当下已经安装的三方库信息
- pip install 虽然可以在虚拟环境中安装对应的包,但是不会更新 PIPfile 和 PIPfile.lock
- 查看包的依赖结构:pipenv graph
- 卸载第三方包:pipenv uninstall requests
- 退出虚拟环境:exit或直接关闭窗口
- 删除虚拟环境:cd /file_dir后pipenv --rm
- pipenv项目交接
- 上传项目时,需包含的文件:包和模块源码、PIPfile 和 PIPfile.lock文件
- 下载项目后,cd /file_dir后pipenv install
七、虚拟环境的删除
- 直接删除虚拟环境所在目录
- rm命令