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脚本实现分析dns日志并对受访域名排行
Sep 18 Python
Python如何抓取天猫商品详细信息及交易记录
Feb 23 Python
Python实现统计英文文章词频的方法分析
Jan 28 Python
Python 把序列转换为元组的函数tuple方法
Jun 27 Python
用Pelican搭建一个极简静态博客系统过程解析
Aug 22 Python
深入浅析Python科学计算库Scipy及安装步骤
Oct 12 Python
Python魔法方法 容器部方法详解
Jan 02 Python
Python Sphinx使用实例及问题解决
Jan 17 Python
基于python3生成标签云代码解析
Feb 18 Python
python GUI库图形界面开发之PyQt5拖放控件实例详解
Feb 25 Python
Python3.9 beta2版本发布了,看看这7个新的PEP都是什么
Jun 10 Python
Python基于内置函数type创建新类型
Oct 22 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
ajax在joomla中的原生态应用代码
2012/07/19 PHP
PHP开发中常见的安全问题详解和解决方法(如Sql注入、CSRF、Xss、CC等)
2014/04/21 PHP
php去掉文件前几行的方法
2015/07/29 PHP
PHP针对redis常用操作实例详解
2019/08/17 PHP
键盘控制事件应用教程大全
2006/11/24 Javascript
Javascript实现重力弹跳拖拽运动效果示例
2013/06/28 Javascript
快速查找数组中的某个元素并返回下标示例
2013/09/03 Javascript
JS+CSS 制作的超级简单的下拉菜单附图
2013/11/22 Javascript
PHP实现的各种中文编码转换类分享
2015/01/23 Javascript
jquery实现表格本地排序的方法
2015/03/11 Javascript
javascript实现仿IE顶部的可关闭警告条
2015/05/05 Javascript
ExtJs动态生成treepanel的Json格式
2015/07/19 Javascript
jQuery调用Webservice传递json数组的方法
2016/08/06 Javascript
AngularJs bootstrap搭载前台框架——基础页面
2016/09/01 Javascript
解决拦截器对ajax请求的拦截实例详解
2016/12/21 Javascript
解决vue-cli中stylus无法使用的问题方法
2017/06/19 Javascript
jquery+css实现下拉列表功能
2017/09/03 jQuery
JavaScript实现多重继承的方法分析
2018/01/09 Javascript
vue项目中api接口管理总结
2018/04/20 Javascript
VUE Error: getaddrinfo ENOTFOUND localhost
2018/05/03 Javascript
在Vue.js中使用TypeScript的方法
2020/03/19 Javascript
在Vue中使用Select选择器拼接label的操作
2020/10/22 Javascript
JS获取一个字符串中指定字符串第n次出现的位置
2021/02/10 Javascript
[45:17]DOTA2-DPC中国联赛定级赛 Phoenix vs DLG BO3第三场 1月9日
2021/03/11 DOTA
python中类和实例如何绑定属性与方法示例详解
2017/08/18 Python
Python分析学校四六级过关情况
2017/11/22 Python
python中pika模块问题的深入探究
2018/10/13 Python
Python的赋值、深拷贝与浅拷贝的区别详解
2020/02/12 Python
浅谈keras中的batch_dot,dot方法和TensorFlow的matmul
2020/06/18 Python
HTML5 通信API 跨域门槛将不再高、数据推送也不再是梦
2013/04/25 HTML / CSS
Mankind美国/加拿大:英国领先的男士美容护发用品公司
2018/12/05 全球购物
彪马西班牙官网:PUMA西班牙
2019/06/18 全球购物
房屋买卖协议样本
2014/11/16 职场文书
评先进个人材料
2014/12/29 职场文书
用Python编写简单的gRPC服务的详细过程
2021/07/04 Python
vue递归实现树形组件
2022/07/15 Vue.js