Python虚拟环境的创建和包下载过程分析
作者:BlackMonkey 发布时间:2023-01-02 12:46:10
为什么使用虚拟环境
因为直接在真实环境进行安装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
安装
# 安装名为 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
pip 有更多选择。有关 pip 的完整文档,请参阅 安装 Python 模块 指南。
同样的我们也可以自己写一个包给别人使用,具体的方法看这篇文章Python包和模块的分发
来源:https://www.cnblogs.com/monkey-code/archive/2020/06/18/13160606.html
猜你喜欢
- 本文实例讲述了php封装的单文件(图片)上传类。分享给大家供大家参考,具体如下:<?php//封装php中的单文件(图片)上传类/*/
- python永久添加搜索路径_Python sys.path永久添加在用户目录下,找到隐藏文件.bashrc 文件然后在末尾添加export
- Debug Textarea这个东西是在线写 js 脚本的时候,用来即时查错的东西!也就是,当发现所编写的脚本有问题的时候会有相应的提示,并
- 项目说明 该电商项目类似于京东商城,主要模块有验证、用户、第三方登录、首页广告、商品、购物车、订单、支付以及后台管理系统。项目开发模式采用前
- 对range()逆序的解释在 Python3.6 中,range() 函数返回一个可迭代的范围对象,范围类型表示不可变的数字序列,一般用在
- 本文实例讲述了python获取一组汉字拼音首字母的方法。分享给大家供大家参考。具体实现方法如下:#!/usr/bin/env python
- 在vue中使用ant-design-vue组件官方地址:Ant Design Vue1. 安装首先使用vue-cli创建项目,然后进入项目,
- 切分文件最近遇到需要切分文件的需求,当然首选用python来解决,网上搜了下感觉都太复杂了,其实用python自带函数即可解决。f = op
- 主要作用与拷贝文件用的。1.shutil.copyfileobj(文件1,文件2):将文件1的数据覆盖copy给文件2。import shu
- 一个小项目自动登录淘宝联盟抓取数据,由于之前在Github上看过类似用Python写的代码因此选择用Python来写,第一次用Python正
- 版本选择因为MySql的版本越来越多,而作为中小网站者可能没有足够的经济去购买商业版本,所以一般选择免费版,而且功能也是足够使用的。有钱任性
- 我在使用python3.5处理一个序列化文件xxx.pk,不过这个.pk文件是我在python2.7里面存储的,当我用python3读取的时
- python数组和列表的区别列表和数组的定义列表用于顺序存储结构。它可以方便、高效的的添加删除元素,并且列表中的元素可以是多种类型。数组是一
- <?php $fp = fopen("http://www.***.com/**
- 基本简介dot函数为numpy库下的一个函数,主要用于矩阵的乘法运算,其中包括:向量内积、多维矩阵乘法和矩阵与向量的乘法。1. 向量内积向量
- 本文实例讲述了Python wxPython库使用wx.ListBox创建列表框。分享给大家供大家参考,具体如下:如何创建一个列表框?列表框
- 如何随机显示图片计数器?一切就绪,看看我们的代码:count.asp< html >< head >
- 如下所示:def str_to_hex(s): s = s.split(' ')&nbs
- 一、什么是协程协程拥有自己的寄存器和栈。协程调度切换的时候,将寄存器上下文和栈都保存到其他地方,在切换回来的时候,恢复到先前保存的寄存器上下
- numpy.insert()主要用于向矩阵中插入行或列。对于多维矩阵,可以沿任意一个轴插入元素。1. 参数说明numpy.insert(ar