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 基础学习教程
Feb 08 Python
Python采用socket模拟TCP通讯的实现方法
Nov 19 Python
Python去除列表中重复元素的方法
Mar 20 Python
Python中实现参数类型检查的简单方法
Apr 21 Python
Python的Tornado框架异步编程入门实例
Apr 24 Python
Python内置函数OCT详解
Nov 09 Python
python中如何正确使用正则表达式的详细模式(Verbose mode expression)
Nov 08 Python
Python求两个圆的交点坐标或三个圆的交点坐标方法
Nov 07 Python
python requests 库请求带有文件参数的接口实例
Jan 03 Python
Python找出列表中出现次数最多的元素三种方式
Feb 24 Python
python 工具 字符串转numpy浮点数组的实现
Mar 14 Python
python 获取字典特定值对应的键的实现
Sep 29 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
星际争霸中的对战模式介绍
2020/03/04 星际争霸
PHP.MVC的模板标签系统(三)
2006/09/05 PHP
PHP系列学习之日期函数使用介绍
2012/08/18 PHP
PHP常用的小程序代码段
2015/11/14 PHP
Ubuntu server 11.04安装memcache及php使用memcache来存储session的方法
2016/05/31 PHP
php+jQuery+Ajax简单实现页面异步刷新
2016/08/08 PHP
无语,javascript居然支持中文(unicode)编程!
2007/04/12 Javascript
jQuery版仿Path菜单效果
2011/12/15 Javascript
web基于浏览器的本地存储方法应用
2012/11/27 Javascript
jQuery的$.proxy()应用示例介绍
2014/04/03 Javascript
node.js中的favicon.ico请求问题处理
2014/12/15 Javascript
JS实现带提示的星级评分效果完整实例
2015/10/30 Javascript
javascript数组克隆简单实现方法
2015/12/16 Javascript
JavaScript中Function函数与Object对象的关系
2015/12/17 Javascript
解决使用vue.js路由后失效的问题
2018/03/17 Javascript
node.js调用C++函数的方法示例
2018/09/21 Javascript
详解mpvue scroll-view自动回弹bug解决方案
2018/10/01 Javascript
JavaScript实现的鼠标跟随特效示例【2则实例】
2018/12/22 Javascript
jQuery实现简单弹幕效果
2019/11/28 jQuery
Vue中axios拦截器如何单独配置token
2019/12/27 Javascript
在Windows服务器下用Apache和mod_wsgi配置Python应用的教程
2015/05/06 Python
利用Python实现图书超期提醒
2016/08/02 Python
python执行使用shell命令方法分享
2017/11/08 Python
在Mac中PyCharm配置python Anaconda环境过程图解
2020/03/11 Python
Python基于xlutils修改表格内容过程解析
2020/07/28 Python
使用html5 canvas 画时钟代码实例分享
2015/11/11 HTML / CSS
amazeui页面校验功能的实现代码
2020/08/24 HTML / CSS
应届毕业生就业自荐信
2013/10/26 职场文书
校园文化建设方案
2014/02/03 职场文书
大二法英学生职业生涯规划范文
2014/02/27 职场文书
关爱留守儿童标语
2014/06/18 职场文书
电子商务专业求职信
2014/07/10 职场文书
幼师辞职信范文大全
2015/05/12 职场文书
文明礼貌主题班会
2015/08/14 职场文书
golang在GRPC中设置client的超时时间
2021/04/27 Golang
pytorch fine-tune 预训练的模型操作
2021/06/03 Python