Python虚拟环境的安装和使用

news2024/11/30 14:53:34

在进行Python项目开发时可能会遇到各种各样的库和模块依赖问题。为了解决这些问题,我们可以使用虚拟环境来隔离项目的依赖。本次将介绍Python原生虚拟环境和Anaconda虚拟环境的安装与使用,并举例说明如何进行虚拟环境配置。

在这里插入图片描述

文章目录

  • Python原生虚拟环境
  • Anaconda虚拟环境
  • 虚拟环境变量配置
  • 虚拟环境保存位置

Python原生虚拟环境

Python原生虚拟环境是通过venv模块实现的。首先需要确保Python版本是3.3及以上。接下来我们将通过以下步骤创建并使用虚拟环境:

创建虚拟环境,使用下面的命令行将在当前目录下创建一个名为my_project_venv的虚拟环境,其python的版本为3.8。

python -m venv my_project_venv python=3.8

对于Windows用户,激活虚拟环境

my_project_venv\Scripts\activate

对于macOS和Linux用户,激活虚拟环境,看到命令提示符前面有虚拟环境的名称,表示虚拟环境已经激活。

source my_project_venv/bin/activate

虚拟环境安装依赖库,和普通安装一样

pip install numpy

退出虚拟环境

deactivate

Anaconda虚拟环境

Anaconda是一个用于科学计算的Python发行版,它提供了自己的虚拟环境管理工具conda。接下来,我们将通过以下步骤创建并使用Anaconda虚拟环境:

创建虚拟环境,使用下面的命令行将在当前目录下创建一个名为my_project_venv的虚拟环境,其python的版本为3.8。

conda create --name my_project_venv python=3.8

激活虚拟环境,看到命令提示符前面有虚拟环境的名称,表示虚拟环境已经激活。

conda activate my_project_venv

虚拟环境安装依赖库,和普通安装一样

pip install numpy

退出虚拟环境

deactivate

虚拟环境变量配置

有时候需要在虚拟环境中配置一些环境变量或者运行一些初始化脚本。为此可以在虚拟环境的激活脚本中添加相应的内容。

对于Python原生虚拟环境:

  • 对于Windows用户,可以编辑my_project_venv\Scripts\activate.bat文件。
  • 对于macOS和Linux用户,可以编辑my_project_venv/bin/activate文件。

对于Anaconda虚拟环境:

  • 无论是Windows还是macOS和Linux用户,都可以编辑my_project_venv/conda-meta/user-scripts.py文件。
  • 在相应的文件中,可以添加环境变量或者运行初始化脚本。例如可以在activate脚本中添加以下内容来配置一个环境变量:
export MY_ENV_VAR=my_value

同样也可以在激活脚本中运行一些初始化脚本。例如在Linux或macOS系统中,可以添加以下内容来运行一个名为my_init_script.sh的初始化脚本:

source my_init_script.sh

在Windows系统中,你可以使用call命令:

call my_init_script.bat

通过以上方法可以方便地为虚拟环境配置环境变量和初始化脚本。这在某些需要特定设置的项目中会非常有用。

虚拟环境保存位置

如果想修改创建的python虚拟环境保存位置的情况下可以进入C盘用户的目录下寻找一个.condarc的文件,用notepad++打开,复制下面的内容即可。

auto_activate_base: false
channels:
  - defaults
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
show_channel_urls: True
ssl_verify: true
envs_dirs:
  - F:\PythonWorkProject\MyEnvsProject

其中环境变量配置说明

  • envs_dirs 指定虚拟环境的创建和存储目录。
  • ssl_verify 用于控制是否验证通过 HTTPS 协议下载的软件包的 SSL 证书。
  • show_channel_urls 控制是否显示下载软件包时的通道 URL。
  • auto_activate_base 设置在启动新的命令提示符或终端会话时是否自动激活基础环境。
  • channels 指定默认的软件包通道。
  • custom_channels 指定自定义软件包通道。
  • default_channels 指定默认的软件包通道。

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

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

相关文章

华为OD机试真题 Java 实现【不爱施肥的小布】【2023Q2 100分】

一、题目描述 某农村主管理了一大片果园,fields[i]表示不同国林的面积,单位m2,现在要为所有的果林施肥且必须在n天之内完成,否则影响收成。小布是国林的工作人员,他每次选择一片果林进行施肥,且一片国林施…

Python机器学习:Scikit-learn和TensorFlow的应用和模型设计

一、引言 Python在机器学习领域中已经成为非常受欢迎的编程语言。Scikit-learn和TensorFlow是Python中应用最广泛的两个机器学习库,它们提供了丰富的机器学习算法和工具,帮助开发人员轻松地构建和训练机器学习模型。本文将详细介绍Scikit-learn和Tensor…

python+vue体育场馆场地预约系统 django体育器材管理系统3cprm

使用django框架搭建后台服务,使用python开发语言. 使用MySQL作为数据库对数据进行持久化 开发语言:Python 框架:django/flask Python版本:python3.7.7 数据库:mysql 数据库工具:Navicat 开发软件&#xf…

【K8s】常用的Pod控制器

文章目录 一、认识Pod控制器1、控制器介绍2、控制器种类 二、ReplicaSet(RS)1、RS的作用与资源清单2、创建RS3、pod扩缩容4、镜像升级5、删除RS 三、Deployment(Deploy)1、作用与资源清单2、创建deploy3、扩缩容4、镜像更新5、版本…

【运维知识进阶篇】集群架构-Nginx实现基础web架构(Linux+Nginx+PHP+Mysql)

本篇文章介绍LNMP架构部署项目,包括Nginx安装配置、PHP安装配置、数据库Mariadb安装配置、Nginx连通PHP、PHP连通MySQL、拆分数据库至独立服务器、拆分静态资源至服务器、扩展一个web服务器。 LNMP架构 Linux Nginx Mysql PHP Nginx不能处理动态请求,如…

Java如何判空

目录 前言 List的判空 String的判空 Optional 4.1 Optional对象的创建 4.2使用场景 前言 实际项目中我们会有很多地方需要判空校验,如果不做判空校验则可能产生NullPointerException异常。 针对异常的处理我们在上一篇有提及: 先来看一下实际项目…

OpenCV实战(23)——相机标定

OpenCV实战(23)——相机标定 0. 前言1. 数字图像成像原理2. 相机标定2.1 执行相机校准2.2 使用已知相机参数校准2.3 使用圆网格进行校准 3. 完整代码小结系列链接 0. 前言 我们已经了解了相机如何通过在 2D 传感器平面上投射光线来拍摄 3D 场景&#xf…

使用RobustPCA 进行时间序列的异常检测

鲁棒主成分分析(Robust Principal Component Analysis, RobustPCA)是一种将时间序列矩阵分解为低秩分量和稀疏分量的技术。这种分解能够识别潜在的趋势,以及检测异常和异常值。在本中我们将研究RobustPCA的数学基础,介绍它与传统的PCA之间的区别&#xf…

GcDataViewer for JavaScript 6.1.0 Crack

GcDataViewer是跨平台 JavaScript 数据查看器,使用我们的 JavaScript 数据查看器在 Web 上打开和查看数据文档。 Load Excel (XLSX)、CSV 和SPREADJS(SSJSON) 文件,全部在一个查看器中 支持使用排序、筛选器和切片器进…

单词拼写检查textblob模块spellcheck方法

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 单词拼写检查 textblob模块 spellcheck方法 [太阳]选择题 关于python代码说法错误的一项是: from textblob import Word myWordsuccessfulee print("【显示】myWord …

【Spring事务】Spring事务事件控制,解决业务异步操作

使用背景 在业务中,经常会有这样的需求,在数据库事务提交之后,发送异步消息或者进行其他的事务操作。 例如当用户注册成功之后,发送激活码,如果用户注册后就执行发送激活码,但是在用户保存时出现提交事务…

【利用AI让知识体系化】入门Express框架

思维导图 文章目录 思维导图第一章:介绍Express什么是ExpressExpress优点Express应用场景 第二章:安装和基础用法安装Express搭建第一个Express应用中间件的使用 第三章:路由和控制器路由的原理路由的基本用法路由的进阶用法控制器的使用 第四…

BM 34 判断是否是二叉搜索树

判断是不是二叉搜索树_牛客题霸_牛客网 (nowcoder.com) 二叉搜索树满足每个节点的左子树上的所有节点均小于当前节点且右子树上的所有节点均大于当前节点。 递归去做 ,一段一段的去判断是否满足条件 /*** struct TreeNode {* int val;* struct TreeNode *left;* str…

c++ 11标准模板(STL) std::set(二)

定义于头文件 <set> template< class Key, class Compare std::less<Key>, class Allocator std::allocator<Key> > class set;(1)namespace pmr { template <class Key, class Compare std::less<Key>> using se…

超实用!50+个ChatGPT提示词助你成为高效Web开发者(上)

如果你已经感到编写代码的重复和繁琐让你疲惫不堪&#xff0c;想要提高自己的效率&#xff0c;那么你来对地方了。ChatGPT是一款能够帮助你优化工作流程、减少错误并获得提高代码的见解的强大工具。 在这篇博客文章中&#xff0c;我们将向你提供超过50个提示和策略&#xff0c;…

OpenCV教程——形态学操作。膨胀,腐蚀,开操作,闭操作,形态学梯度,顶帽,黑帽

1.形态学操作 图像形态学操作&#xff1a;基于形状的一系列图像处理操作的合集&#xff0c;主要是基于集合论基础上的形态学数学。 形态学有四个基本操作&#xff1a;膨胀、腐蚀、开、闭。 2.膨胀与腐蚀 2.1.膨胀 跟卷积操作类似&#xff0c;假设有图像A和结构元素B&#…

路径规划算法:基于灰狼优化的路径规划算法- 附代码

路径规划算法&#xff1a;基于灰狼优化的路径规划算法- 附代码 文章目录 路径规划算法&#xff1a;基于灰狼优化的路径规划算法- 附代码1.算法原理1.1 环境设定1.2 约束条件1.3 适应度函数 2.算法结果3.MATLAB代码4.参考文献 摘要&#xff1a;本文主要介绍利用智能优化算法灰狼…

自媒体的孔雀效应:插根鸡毛还是专业才华?

自媒体时代&#xff0c;让许多原本默默无闻的人找到了表达自己的平台。有人声称&#xff0c;现在这个时代&#xff0c;“随便什么人身上插根鸡毛就可以当孔雀了”。可是&#xff0c;事实真的如此吗&#xff1f; 首先&#xff0c;我们不能否认的是&#xff0c;自媒体确实为大众提…

【大数据】通过 docker-compose 快速部署 Presto(Trino)保姆级教程

文章目录 一、概述二、前期准备1&#xff09;部署 docker2&#xff09;部署 docker-compose 三、创建网络四、Trino 编排部署1&#xff09;下载 trino2&#xff09;配置1、coordinator 配置2、worker 配置 3&#xff09;启动脚本 bootstrap.sh4&#xff09;构建镜像 Dockerfile…

多尺度深度特征(下):多尺度特征学习才是目标检测精髓(论文免费下载)...

计算机视觉研究院专栏 作者&#xff1a;Edison_G 深度特征学习方案将重点从具有细节的具体特征转移到具有语义信息的抽象特征。它通过构建多尺度深度特征学习网络 (MDFN) 不仅考虑单个对象和局部上下文&#xff0c;还考虑它们之间的关系。 公众号ID&#xff5c;ComputerVisionG…