1.2 虚拟环境

1.2 虚拟环境

创建好应用目录之后,接下来该安装Flask了。安装Flask最便捷的方法是使用虚拟环境

虚拟环境是Python解释器的一个私有副本,在这个环境中你可以安装私有包,而且不会影响系统中安装的全局Python解释器。

虚拟环境非常有用,可以避免你安装的Python版本和包与系统预装的发生冲突。为每个项目单独创建虚拟环境,可以保证应用只能访问所在虚拟环境中的包,从而保持全局解释器的干净整洁,使其只作为创建更多虚拟环境的源。与直接使用系统全局的Python解释器相比,使用虚拟环境还有个好处,那就是不需要管理员权限。

1.2.1 创建虚拟环境

Python 3和Python 2解释器创建虚拟环境的方法有所不同。在Python 3中,虚拟环境由Python标准库中的venv包原生支持。

下面我们在flasky目录中创建一个虚拟环境。通常,虚拟环境的名称为venv,不过你也可以使用其他名称。确保当前目录是flasky,然后执行这个命令:

$ python -m venv venv

这个命令执行完毕后,flasky目录中会出现一个名为venv的子目录,这里就是一个全新的虚拟环境,包含这个项目专用的Python解释器。

在创建python虚拟环境的时候,如果使用的是Anaconda中集成的python -m venv venvdir就会出现不能安装pip的错误,原因是Anaconda没有ensurepip,解决办法是使用python -m venv --without-pip venv创建没有pip的虚拟环境,然后启动虚拟环境安装pip即可。

或在https://www.aliyundrive.com/s/SLXKZzbxFac下载get-pip.py,保存到虚拟环境目录中,然后运行:

(venv)$ python get-pip.py    # 运行安装脚本

1.2.2 使用虚拟环境

若想使用虚拟环境,要先将其“激活”。如果使用微软Windows系统,激活命令是:

$ venv\Scripts\activate

虚拟环境被激活后,里面的Python解释器的路径会添加到当前命令会话的PATH环境变量中,指明在什么位置寻找一众可执行文件。为了提醒你已经激活了虚拟环境,激活虚拟环境的命令会修改命令提示符,加入环境名:

(venv) $

激活虚拟环境后,在命令提示符中输入python,将调用虚拟环境中的解释器,而不是系统全局解释器。如果你打开了多个命令提示符窗口,在每个窗口中都要激活虚拟环境。

虽然多数情况下,为了方便,应该激活虚拟环境,但是不激活也能使用虚拟环境。例如,为了启动venv虚拟环境中的Python控制台,在微软Windows中可以执行venv\Scripts\python命令。

图1-1  激活虚拟环境

虚拟环境中的工作结束后,在命令提示符中输入deactivate,还原当前终端会话的PATH环境变量,把命令提示符重置为最初的状态。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/631489.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Docker registry镜像仓库,私有仓库及harbor管理详解

目录 registry镜像仓库概述 Docker 镜像仓库(Docker Registry): registry 容器: 私有仓库概述 搭建本地私有仓库示例 Harbor概述 harbor架构 详解构成 Harbor由容器构成 Harbor部署示例 环境准备 部署Docker-Compose服…

(2023版)斯坦福CS231n学习笔记:DL与CV教程 (4) | 神经网络与反向传播

前言 📚 笔记专栏:斯坦福CS231N:面向视觉识别的卷积神经网络(23)🔗 课程链接:https://www.bilibili.com/video/BV1xV411R7i5💻 CS231n: 深度学习计算机视觉(2017&#xf…

1月18日代码随想录二叉树搜索、验证二叉搜索树

700.二叉搜索树中的搜索 给定二叉搜索树(BST)的根节点 root 和一个整数值 val。 你需要在 BST 中找到节点值等于 val 的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 null 。 示例 1: 输入:root [4,2,7,1,3], val …

医院网络安全建设:三网整体设计和云数据中心架构设计

医院网络安全问题涉及到医院日常管理多个方面,一旦医院信息管理系统在正常运行过程中受到外部恶意攻击,或者出现意外中断等情况,都会造成海量医疗数据信息的丢失。由于医院信息管理系统中存储了大量患者个人信息和治疗方案信息等,…

【ArcGIS微课1000例】0088:计算城市建筑物朝向(矩形角度)

文章目录 一、实验描述二、实验数据三、角度计算1. 添加字段2. 计算角度四、方向计算一、实验描述 矩形要素具有长轴和短轴,其长轴方向也称为矩形面的主角度,可用于确定面要素的走向趋势。根据该方向参数,可以对具有矩形特征的地理对象进行方向分析,且适用于很多应用场景,…

什么是NodeJS

1、前言 接触 node.js 有好几年了,也开发了好几个项目了;但每次提起 node.js,始终不敢说自己入门了,归其原因,大概就是如下所示 为了进一步加强理解,系统的梳理相关知识以作备忘,本节将从以下…

视频转码实例:把MP4转为MKV视频,一键批量转换的操作方法

在数字媒体时代,视频格式的多样性是不可避免的。经常把MP4格式的视频转换为MKV格式。MKV格式有较高的音频和视频质量,能在其他设备或软件上播放视频。以下是云炫AI智剪如何把MP4视频转为MKV格式的一键批量转换操作方法。 已转码的mkv视频效果缩略图展示…

20240117在本地机器识别OCR法语电影的字幕效果PK

20240117在本地机器识别OCR法语电影的字幕效果PK 2024/1/17 11:18 1959 - Jirai Cracher Sur Vos Tombes [Gast, Vian].avi https://www.pianbar.net//drama/52892.html 1959[我唾弃你的坟墓]Jirai cracher sur vos tombes[BT下载/迅雷下载] magnet:?xturn:btih:7c9c99d9d048…

Elasticsearch各种高级文档操作

本文来记录下Elasticsearch各种文档操作 文章目录 初始化文档数据查询所有文档匹配查询文档关键字精确查询文档多关键字精确查询文档字段匹配查询文档指定查询字段查询文档过滤字段查询文档概述指定想要显示的字段示例指定不想要显示的字段示例 组合查询文档范围查询文档概述使…

微服务入门 | 项目分割 | 远程调度Feign | 用户中心erueka 和 nacos

认识微服务 微服务架构演变: 单体架构:所有功能集中在一个项目中开发,打成一个包部署 分布式架构:就是各功能模块的代码不在同一个项目中写了,到时候修改其中一个过能的代码,对另一个功能完全没有任何影响…

循环异步调取接口使用数组promiseList保存,Promise.all(promiseList)获取不到数组内容,then()返回空数组

在使用 vue vant2.13.2 技术栈的项目中,因为上传文件的接口是单文件上传,当使用批量上传时,只能循环调取接口;然后有校验内容:需要所有文件上传成功后才能保存,在文件上传不成功时点击保存按钮&#xff0c…

非常有趣的AI应用-用大语言模型来玩星际争霸2(附代码链接)

非常有趣的AI应用-用大语言模型来玩星际争霸2(附代码链接) 偶然看到的,比较有意思,分享一下: GitHub地址:Large-Language-Models-play-StarCraftII arxiv:Large Language Models Play StarCra…

ChatGPT 报:“Unable to load history…”如何处理?

ChatGPT界面出现:“Unable to load history…” 说明:无法加载历史记录。。。 原因: 一般是代理的问题,网络加载延迟严重,也可能是官方请求过多,造成响应不及时。 解决: 出现这个问题时&#…

新三板操作指南!哪家证券公司开通新三板交易佣金费率最低?

新三板操作指南:掌握规则,赢得先机! 随着中国资本市场的蓬勃发展,新三板市场日益成为投资者关注的焦点。然而,对于许多新手投资者来说,新三板市场的交易规则和流程可能较为陌生。本文将为您详细解读新三板…

移动端开发进阶之蓝牙通讯(一)

移动端开发进阶之蓝牙通讯(一) 移动端进阶之蓝牙通讯需要综合考虑蓝牙版本选择、协议栈使用、服务匹配、设备连接、安全性和硬件支持等方面。 一、蓝牙版本选择 根据实际需求和应用场景选择合适的蓝牙版本; 1.0,1M/s。 2.0EDR…

线程安全的集合类

Java中提供了许多集合类,其中有的是线程安全的,有的是线程不安全的。线程安全的集合类有: 1. Vector:Vector类实现了一个动态数组,与ArrayList相似,但Vector是同步访问的 2. Stack:Stack是Vec…

C++ 数论相关题目(约数)

1、试除法求约数 主要还是可以成对的求约数进行优化&#xff0c;不然会超时。 时间复杂度根号n #include <iostream> #include <vector> #include <algorithm>using namespace std;int n;vector<int> solve(int a) {vector<int> res;for(int i…

leetcode 每日一题 2024年01月18日 拿出最少数目的魔法豆

题目 给定一个 正整数 数组 beans &#xff0c;其中每个整数表示一个袋子里装的魔法豆的数目。 请你从每个袋子中 拿出 一些豆子&#xff08;也可以 不拿出&#xff09;&#xff0c;使得剩下的 非空 袋子中&#xff08;即 至少还有一颗 魔法豆的袋子&#xff09;魔法豆的数目 …

保证Kafka消息有序性

一、Kafka特性 写入同一个partion分区中的数据是一定有顺序的kafka中一个消费者消费一个partion的数据&#xff0c;消费者取出数据时&#xff0c;也是有顺序的 二、保证消息Kafka消息有序性 在生产者端&#xff0c;应保证消息被写入同一分区。可以在构造消息时指定消息的key…

如何将音频转文字?4个方法帮你轻松搞定!

如何将音频转文字&#xff1f;在日常生活中&#xff0c;将音频转换为文字的应用可以带来很多便利。例如&#xff0c;在会议、讲座、课堂等场合&#xff0c;我们可以使用识别软件将语音转换为文字&#xff0c;方便记录和整理。此外&#xff0c;在语言学习、语音翻译等领域&#…