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定时检查启动某个exe程序适合检测exe是否挂了
Jan 21 Python
使用Python编写类UNIX系统的命令行工具的教程
Apr 15 Python
Python数据操作方法封装类实例
Jun 23 Python
Python将文本去空格并保存到txt文件中的实例
Jul 24 Python
python-opencv颜色提取分割方法
Dec 08 Python
详解Python_shutil模块
Mar 15 Python
pytorch1.0中torch.nn.Conv2d用法详解
Jan 10 Python
python GUI库图形界面开发之PyQt5访问系统剪切板QClipboard类详细使用方法与实例
Feb 27 Python
Python多线程Threading、子线程与守护线程实例详解
Mar 24 Python
Numpy 理解ndarray对象的示例代码
Apr 03 Python
Python 字符串池化的前提
Jul 03 Python
python 实现端口扫描工具
Dec 18 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
1982年日本摄影师镜头下的中国孩子 那无忧无虑的童年
2020/03/12 杂记
如何从一个php文件向另一个地址post数据,不用表单和隐藏的变量的
2007/03/06 PHP
使用GROUP BY的时候如何统计记录条数 COUNT(*) DISTINCT
2011/04/23 PHP
PHP常量使用的几个需要注意的地方(谨慎使用PHP中的常量)
2014/09/12 PHP
php实现的通用图片处理类
2015/03/24 PHP
PHP检测用户是否关闭浏览器的方法
2016/02/14 PHP
php时间计算相关问题小结
2016/05/09 PHP
laravel实现分页样式替换示例代码(增加首、尾页)
2017/09/22 PHP
PHP获取当前系统时间的方法小结
2018/10/03 PHP
PHP面向对象类型约束用法分析
2019/06/12 PHP
ExtJs Excel导出并下载IIS服务器端遇到的问题
2011/09/16 Javascript
使用jQuery内容过滤选择器选择元素实例讲解
2013/04/18 Javascript
JS 修改URL参数(实现代码)
2013/07/08 Javascript
javascript实现颜色渐变的方法
2013/10/30 Javascript
jQuery filter函数使用方法
2014/05/19 Javascript
一分钟理解js闭包
2016/05/04 Javascript
nodejs个人博客开发第七步 后台登陆
2017/04/12 NodeJs
jQuery Datatable 多个查询条件自定义提交事件(推荐)
2017/08/24 jQuery
十分钟带你快速了解React16新特性
2017/11/10 Javascript
详解element-ui中表单验证的三种方式
2019/09/18 Javascript
import的本质解析
2017/10/30 Python
python将每个单词按空格分开并保存到文件中
2018/03/19 Python
Python matplotlib的使用并自定义colormap的方法
2018/12/13 Python
python+selenium select下拉选择框定位处理方法
2019/08/24 Python
浅析Python+OpenCV使用摄像头追踪人脸面部血液变化实现脉搏评估
2019/10/17 Python
使用pymysql查询数据库,把结果保存为列表并获取指定元素下标实例
2020/05/15 Python
纯css3实现的竖形无限级导航
2014/12/10 HTML / CSS
下列程序在32位linux或unix中的结果是什么
2015/01/26 面试题
个人应聘自我评价分享
2013/11/18 职场文书
市场安全管理制度
2014/01/26 职场文书
《七颗钻石》教学反思
2014/02/28 职场文书
2015元旦晚会主持人开场白+结束语
2014/12/14 职场文书
长城的导游词
2015/01/30 职场文书
医生个人年终总结
2015/02/28 职场文书
给领导敬酒词
2015/08/12 职场文书
利用Redis实现点赞功能的示例代码
2022/06/28 Redis