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实现的简单抽奖系统实例
May 22 Python
Python中的深拷贝和浅拷贝详解
Jun 03 Python
python selenium UI自动化解决验证码的4种方法
Jan 05 Python
numpy.delete删除一列或多列的方法
Apr 03 Python
Python实现使用卷积提取图片轮廓功能示例
May 12 Python
python实现黑客字幕雨效果
Jun 21 Python
Python图像处理之gif动态图的解析与合成操作详解
Dec 30 Python
详解Python3序列赋值、序列解包
May 14 Python
面向对象学习之pygame坦克大战
Sep 11 Python
python基于TCP实现的文件下载器功能案例
Dec 10 Python
使用Python开发个京东上抢口罩的小实例(仅作技术研究学习使用)
Mar 10 Python
django配置app中的静态文件步骤
Mar 27 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
便携利器 — TECSUN PL-365简评
2021/03/02 无线电
做一个有下拉功能的留言版
2006/10/09 PHP
深入php list()函数的详解
2013/06/05 PHP
php上传图片到指定位置路径保存到数据库的具体实现
2013/12/30 PHP
php基于mcrypt的加密解密实例
2014/10/27 PHP
解决PHP上传非标准格式的图片pjpeg失败的方法
2017/03/12 PHP
Yii2数据库操作常用方法小结
2017/05/04 PHP
自写的利用PDO对mysql数据库增删改查操作类
2018/02/19 PHP
QUnit jQuery的TDD框架
2010/11/04 Javascript
Extjs Gird 支持中文拼音排序实现代码
2013/04/15 Javascript
Jquery实现的tab效果可以指定默认显示第几页
2013/10/16 Javascript
a标签的href与onclick事件的区别详解
2014/11/12 Javascript
node.js中的buffer.length方法使用说明
2014/12/14 Javascript
javascript手风琴下拉菜单实现代码
2015/11/12 Javascript
使用Node.js处理前端代码文件的编码问题
2016/02/16 Javascript
浅谈JavaScript对象与继承
2016/07/10 Javascript
JavaScript实现页面定时刷新(定时器,meta)
2016/10/12 Javascript
使用Dropzone.js上传的示例代码
2017/10/10 Javascript
小程序实现列表删除功能
2018/10/30 Javascript
vscode下的vue文件格式化问题
2018/11/28 Javascript
微信小程序websocket实现即时聊天功能
2019/05/21 Javascript
15分钟上手vue3.0(小结)
2020/05/20 Javascript
[01:06]DOTA2小知识课堂 Ep.02 吹风竟可解梦境缠绕
2019/12/05 DOTA
python+django快速实现文件上传
2016/10/24 Python
解决已经安装requests,却依然提示No module named requests问题
2018/05/18 Python
详解Python中的各种转义符\n\r\t
2019/07/10 Python
Django rest framework jwt的使用方法详解
2019/08/08 Python
一文弄懂Pytorch的DataLoader, DataSet, Sampler之间的关系
2020/07/03 Python
解决pytorch 模型复制的一些问题
2021/03/03 Python
什么是反射?如何实现反射?
2016/07/25 面试题
大学英语演讲稿(中英文对照)
2014/01/14 职场文书
体育课外活动总结
2014/07/08 职场文书
python实现MD5进行文件去重的示例代码
2021/07/09 Python
浅析Python中的随机采样和概率分布
2021/12/06 Python
Python写情书? 10行代码展示如何把情书写在她的照片里
2022/04/21 Python
Redis批量生成数据的实现
2022/06/05 Redis