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中使用cookielib和urllib2配合PyQuery抓取网页信息
Apr 25 Python
python创建一个最简单http webserver服务器的方法
May 08 Python
Python实现压缩和解压缩ZIP文件的方法分析
Sep 28 Python
Python AES加密实例解析
Jan 18 Python
Django用户认证系统 Web请求中的认证解析
Aug 02 Python
Python字符串中删除特定字符的方法
Jan 15 Python
django rest framework serializer返回时间自动格式化方法
Mar 31 Python
Python任务调度利器之APScheduler详解
Apr 02 Python
python 生成任意形状的凸包图代码
Apr 16 Python
opencv 阈值分割的具体使用
Jul 08 Python
使用python脚本自动生成K8S-YAML的方法示例
Jul 12 Python
浅谈如何使用python抓取网页中的动态数据实现
Aug 17 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 fopen 读取带中文URL地址的一点见解
2012/09/25 PHP
使用Linux五年积累的一些经验技巧
2013/06/20 PHP
使用PHP如何实现高效安全的ftp服务器(二)
2015/12/30 PHP
JavaScript修改css样式style
2008/04/15 Javascript
JavaScript语言核心数据类型和变量使用介绍
2013/08/23 Javascript
jquery获取及设置outerhtml的方法
2015/03/09 Javascript
利用HTML5的画布Canvas实现刮刮卡效果
2015/09/06 Javascript
基于Jquery插件实现跨域异步上传文件功能
2016/04/26 Javascript
javascript中数组和字符串的方法对比
2016/07/20 Javascript
详解XMLHttpRequest(一)同步请求和异步请求
2016/09/14 Javascript
浅析为什么a="abc" 不等于 a=new String("abc")
2017/10/25 Javascript
浅谈vue中慎用style的scoped属性
2017/11/28 Javascript
Vue 2.5.2下axios + express 本地请求404的解决方法
2018/02/21 Javascript
发布Angular应用至生产环境的方法
2018/12/10 Javascript
vue中实现拖动调整左右两侧div的宽度的示例代码
2020/07/22 Javascript
uniapp实现可以左右滑动导航栏
2020/10/21 Javascript
[01:00]一分钟回顾2018DOTA2亚洲邀请赛现场活动
2018/04/07 DOTA
[41:41]TFT vs Secret Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
[48:00]完美世界DOTA2联赛循环赛 Forest vs Inki BO2第二场 11.04
2020/11/04 DOTA
Python实现的排列组合计算操作示例
2017/10/13 Python
python虚拟环境virtualenv的使用教程
2017/10/20 Python
基于python批量处理dat文件及科学计算方法详解
2018/05/08 Python
PyTorch读取Cifar数据集并显示图片的实例讲解
2018/07/27 Python
基于python分析你的上网行为 看看你平时上网都在干嘛
2019/08/13 Python
python3的url编码和解码,自定义gbk、utf-8的例子
2019/08/22 Python
python 中的paramiko模块简介及安装过程
2020/02/29 Python
Opodo英国旅游网站:预订廉价航班、酒店和汽车租赁
2018/07/14 全球购物
严选全球尖货,立足香港:Bonpont宝盆
2018/07/24 全球购物
翻译学院毕业生自荐书
2014/02/02 职场文书
法律进机关实施方案
2014/03/12 职场文书
搞笑征婚广告词
2014/03/17 职场文书
党员个人公开承诺书
2014/08/29 职场文书
学习张丽丽心得体会
2014/09/03 职场文书
共青团员自我评价
2015/03/10 职场文书
小学班主任心得体会
2016/01/07 职场文书
Java Redisson多策略注解限流
2022/09/23 Java/Android