Python虚拟环境的创建和包下载过程分析


Posted in Python onJune 19, 2020

为什么使用虚拟环境

因为直接在真实环境进行安装python的包会造成环境之间的污染,因此需要创建虚拟环境,原则上每一个项目都需要有一个独属于自己的虚拟环境

Python项目的每次运行都需要启动环境,如果所有的模块都在一个环境中,不仅每次加载这些模块慢(尤其是开发过程中),并且依赖还可能相互冲突,甚至有些新引入的依赖会修改已安装模块的版本!这是很可怕的一件事。

因此使每个项目都拥有自己独有的环境很有必要。即使他们的依赖一致也要这样做。

创建虚拟环境

语法

python -m venv virtaul.env

macOS/Linux

1 在你期望的地方创建 Virtual 目录(文件夹)并跳转到该目录下

# mkdir -p path/dirname 递归的创建目录
# cd path/dir 跳转到到目录

mkdir -p ~/virtual && cd ~/virtual

2 创建虚拟环境 以名为 test.env 的虚拟环境

python -m venv test.env # 最好使用 *.env VScode 依赖后缀名查找虚拟环境.

Windows

1 在你期望的位置创建虚拟环境目录(文件夹)

2 在创建的文件夹中 打开命令提示符Powershell

3 创建虚拟环境 以名为 test.env 的虚拟环境

python -m verv test.env

启动虚拟环境

macOS/Linux

source ~/Virtual/test.env/bin/activate

Windows

test.env\Scripts\activate.bat

使用pip管理包

使用pip命令 (程序)可以快捷的对当前环境中安装的依赖和包进行管理。包括但不限于安装、卸载、查看、更新等等。

默认情况下 pip 将从 Python Package Index-> https://pypi.org 安装软件包。

查询

pip search [keys]
# pip search verify

Python虚拟环境的创建和包下载过程分析

安装

# 安装名为 verify-python 的包
pip install verify-python

# 指定模糊的版本
pip install verify-python~=0.0.2 

# 指定确切的版本
# -i 参数 指定 包的下载源
pip install verify-python==0.0.2 -i https://mirrors.aliyun.com/pypi/simple/

卸载

# 卸载 verify-python
pip uninstall verify-python

更新库

# 更新 verify-python 
pip install --upgrade verify-python

导出当前环境所有的外部库

# 生成 requirements.txt 文件
pip freeze >> requirements.txt

# 列出不生成文件
pip freeze

# 列出所有的包
pip list

显示指定包的特定信息

# 显示 verify-python 包的必要的信息
pip show verify-python

Python虚拟环境的创建和包下载过程分析

pip 有更多选择。有关 pip 的完整文档,请参阅 安装 Python 模块 指南。

同样的我们也可以自己写一个包给别人使用,具体的方法看这篇文章Python包和模块的分发

总结

到此这篇关于Python虚拟环境的创建和包下载过程分析的文章就介绍到这了,更多相关Python虚拟环境和包内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python中tell()方法的使用详解
May 24 Python
Python中list列表的一些进阶使用方法介绍
Aug 15 Python
Python入门_学会创建并调用函数的方法
May 16 Python
python爬虫_实现校园网自动重连脚本的教程
Apr 22 Python
基于Python列表解析(列表推导式)
Jun 23 Python
python 平衡二叉树实现代码示例
Jul 07 Python
python3 实现验证码图片切割的方法
Dec 07 Python
Django项目中添加ldap登陆认证功能的实现
Apr 04 Python
python 整数越界问题详解
Jun 27 Python
Python中新式类与经典类的区别详析
Jul 10 Python
Python2.x与3​​.x版本有哪些区别
Jul 09 Python
python实现简单的名片管理系统
Apr 26 Python
通过实例解析python创建进程常用方法
Jun 19 #Python
keras model.fit 解决validation_spilt=num 的问题
Jun 19 #Python
为什么是 Python -m
Jun 19 #Python
Python 私有属性和私有方法应用场景分析
Jun 19 #Python
Python基于network模块制作电影人物关系图
Jun 19 #Python
keras中的History对象用法
Jun 19 #Python
python中rc1什么意思
Jun 19 #Python
You might like
php相当简单的分页类
2008/10/02 PHP
PHP仿博客园 个人博客(2) 数据库增添改删
2013/07/05 PHP
PHP中使用TCPDF生成PDF文档实例
2014/07/01 PHP
浅谈php的TS和NTS的区别
2019/03/13 PHP
从javascript语言本身谈项目实战
2006/12/27 Javascript
用 Javascript 验证表单(form)中多选框(checkbox)值
2009/09/08 Javascript
jQuery 获取对象 基本选择与层级
2010/05/31 Javascript
js中判断文本框是否为空的两种方法
2011/07/31 Javascript
IE、FF浏览器下修改标签透明度
2014/01/28 Javascript
js实现绿白相间竖向网页百叶窗动画切换效果
2015/03/02 Javascript
JavaScript中的函数(二)
2015/12/23 Javascript
node.js 动态执行脚本
2016/06/02 Javascript
理解javascript中的闭包
2017/01/11 Javascript
微信小程序教程系列之新建页面(4)
2017/04/17 Javascript
微信小程序实现拖拽 image 触摸事件监听的实例
2017/08/17 Javascript
Vue的土著指令和自定义指令实例详解
2018/02/04 Javascript
JS设计模式之状态模式概念与用法分析
2018/02/05 Javascript
NodeJS 中Stream 的基本使用
2018/07/30 NodeJs
vue的过滤器filter实例详解
2018/09/17 Javascript
微信小程序实现swiper切换卡内嵌滚动条不显示的方法示例
2018/12/20 Javascript
微信头像地址失效踩坑记附带解决方案
2019/09/23 Javascript
解决vue与node模版引擎的渲染标记{{}}(双花括号)冲突问题
2020/09/11 Javascript
Ant Design Pro 之 ProTable使用操作
2020/10/31 Javascript
python中异常报错处理方法汇总
2016/11/20 Python
Python request设置HTTPS代理代码解析
2018/02/12 Python
解决PyCharm不运行脚本,而是运行单元测试的问题
2019/01/17 Python
Python调用.NET库的方法步骤
2019/12/27 Python
利用python 下载bilibili视频
2020/11/13 Python
小学教师师德承诺书
2014/05/23 职场文书
预备党员学习十八届三中全会精神思想汇报
2014/09/13 职场文书
商务英语专业大学生职业生涯规划书
2014/09/14 职场文书
2014入党积极分子破除“四风”思想汇报
2014/09/14 职场文书
作风建设剖析材料
2014/10/06 职场文书
百家讲坛观后感
2015/06/12 职场文书
中学语文教学反思
2016/02/16 职场文书
MySQL中dd::columns表结构转table过程及应用详解
2022/09/23 MySQL