《python本机环境多版本切换》-两种方式以及具体使用--venv/pyenv+pycharm测试

阿丹:

source myenv/bin/activate

        在开发使用rasa的时候发现自己安装的python环境是3.12的,和rasa不兼容,所以实践一下更换多python环境。

使用虚拟环境

在Python中使用虚拟环境来切换Python版本是一个常见的做法,这可以帮助你为不同的项目维持独立的Python环境和依赖。以下是使用venvpyenv两种方式来创建和管理不同Python版本的虚拟

环境的简要说明。

使用 venv

venv 是Python 3.3起内置的标准库模块,用于创建轻量级的虚拟环境。

安装特定Python版本(如果还没有的话):

首先,你需要确保你想要使用的Python版本已经安装在你的系统中。可以通过Python官网下载安装包手动安装,或者使用包管理器(如Linux的apt-getyum或macOS的brew)安装。

创建虚拟环境

打开终端,导航到你的项目目录,然后使用对应Python版本的命令来创建虚拟环境。例如,如果你安装了Python 3.9并且想用它,可以这样做

python3.9 -m venv myenv

这会在当前目录下创建一个名为myenv的虚拟环境。

激活虚拟环境

Linux/macOS:
source myenv/bin/activate
Windows:
myenv\Scripts\activate

激活后,你的命令行提示符应显示虚拟环境的名字,表示你现在在这个环境中。

检查Python版本

python --version

注意:

当你使用venv创建虚拟环境时,它默认会使用当前系统中可用的Python解释器版本来创建环境。这意味着如果你的主机上只有一个Python版本(例如Python 3.8),使用python3 -m venv myenv创建的虚拟环境将基于那个版本的Python。

如果你需要使用不同版本的Python,你需要先确保那个版本已经安装在你的系统中。例如,如果你想要创建一个基于Python 3.9的虚拟环境,你需要先安装Python 3.9,然后通过python3.9 -m venv myenv这样的命令来指定使用特定版本的Python创建虚拟环境。

总结一下,venv本身不负责管理或改变Python版本,它依赖于系统中已安装的Python版本。要使用不同版本的Python,需要先安装相应版本,再通过指定版本的命令来创建虚拟环境。如果频繁需要在多个Python版本间切换,可以考虑使用pyenv这类工具来更方便地管理Python版本。

使用 pyenv

pyenv 是一个独立的工具,允许你轻松地在系统级别管理多个Python版本,并为每个项目设置本地Python版本。

安装 pyenv网址

这个是使用的官方地址:

GitCode - 开发者的代码家园

注意项目是:

pyenv-win

https://github.com/pyenv-win/pyenv-win#readme

安装pyenv

下载ZIP,压缩包

给这个压缩包,放到不带中文的路径目录下面,将文件夹重命名为pyenv:
在pyenv下面找到找到bin目录:

配置环境变量

系统属性中的高级系统设置,点击环境变量

 配置环境变量:

注意是系统的环境变量

然后将 PYENV 添加到系统变量中,并配置上面复制的目录,点击确认:

在系统变量中找到Path这个变量,双击打开,将下面这两行路径加进去,然后点击确定,点击完里面的确定再点击环境变量的确定

点击新建在复制下面的目录行:

注意要一行一行写 

 

%PYENV%\bin 
%PYENV%\shims
 检验是否配置完成:

cmd终端执行pyenv

pyenv

pyenv基本命令以及使用:

查看pyenv-win支持的python版本列表:

pyenv install --list

查看当前python对应版本:

pyenv version

查看电脑安装的所有python版本:

pyenv versions

安装指定版本 || 也可以在一个命令中安装多个版本:

pyenv install <version> || pyenv install <version> <version>

卸载指定版本:

pyenv uninstall <version>

将python版本设置为全局版本(默认使用的python版本) 注意:必须先安装该版本。

pyenv global <version>

设置本地版本(当在此文件夹中调用python时,都会使用给定的版本。) 注意:必须先安装该版本。

pyenv local <version>

查看python版本来核对

python -V
commands  -------------列出所有可用的pyenv命令
duplicate   -------------创建一个重复的python环境
local        --------------设置或显示特定于本地应用程序的Python版本
global     --------------设置或显示全局Python版本
shell        --------------设置或显示特定于shell的Python版本
install      --------------Python构建安装Python版本
uninstall    -------------卸载特定的Python版本
update      -------------更新缓存的版本数据库
rehash      -------------重新安装pyenv垫片(安装可执行文件后运行此操作)
vname       -------------显示当前的Python版本
version      -------------显示当前Python版本及其来源
version-name ----------------显示当前的Python版本
versions    -----------------列出pyenv可用的所有Python版本
exec        -----------------通过首先准备路径来运行可执行文件,以便选定的Python
which       -------------- 显示可执行文件的完整路径
whence     ---------------------列出包含给定可执行文件的所有Python版本

pycharm测试

首先我们要先知道自己通过pyenv安装的python环境的路径在哪,终端执行如下命令:

pyenv which python

该命令会输出当前激活的 Python 环境的路径。

其中 3.8.0 是当前激活的 Python 版本号。如果希望获取其他已安装的 Python 版本的路径,可以将命令中的 python 替换为相应的版本号,该命令会输出版本号为 3.8.7 的 Python 环境的路径

pyenv which 3.8.7

根据输出的地址,修改这个解释器的地址就OK了 

找到我们安装好的python路径之后,接下来我们开始为pycharm配置python解释器:

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

深入解析R语言的贝叶斯网络模型:构建、优化与预测;INLA下的贝叶斯回归;现代贝叶斯统计学方法;R语言混合效应(多水平/层次/嵌套)

目录 ①基于R语言的贝叶斯网络模型的实践应用 ②R语言贝叶斯方法在生态环境领域中的应用 ③基于R语言贝叶斯进阶:INLA下的贝叶斯回归、生存分析、随机游走、广义可加模型、极端数据的贝叶斯分析 ④基于R语言的现代贝叶斯统计学方法&#xff08;贝叶斯参数估计、贝叶斯回归、…

Java中Stack的使用详解

Stack是一种运算受限的线性表&#xff0c;其特点在于仅允许在表的一端&#xff08;即表尾&#xff09;进行插入和删除操作。这一端被称为栈顶&#xff0c;而相对的另一端则称为栈底。向一个栈插入新元素的操作称为进栈或入栈&#xff0c;它将新元素放到栈顶元素的上面&#xff…

全球前五!ATFX 2024年Q1业绩狂飙,6240亿美元交易量彰显实力

5月&#xff0c;密集发布的报告显示&#xff0c;强者恒强是差价合约行业不变的竞争逻辑。而ATFX最新展现的业绩无疑是这一逻辑的有力例证。依照惯例&#xff0c;知名行业媒体Finance Magnates日前公布了全球经纪商最为关注的2024年第一季度行业报告。报告数据显示&#xff0c;A…

对未知程序所创建的带有折叠书签的 PDF 文件书签层级全展开导致丢失的一种解决方法

对需要经常查阅、或连续长时间阅读的带有折叠书签的 PDF 文档展开书签层级&#xff0c;提高阅览导航快捷是非常有必要的。 下面是两种常用书签层级全展开的方法 1、 FreePic2Pdf 1 - 2 - 3 - 4 - 5 - 6&#xff0c;先提取后回挂 2、PdgCntEditor 载入后&#xff0c;直接保存…

【必备工具】gitee上传-保姆级教程

目录 1.gitee是什么 2.gitee怎么注册 ​编辑 3.gitee怎么提交代码 4.gitee的三板斧 Clone仓库 Q&A 1. Gitee 只有三板斧吗&#xff1f; 2. Git 教了&#xff0c;Gitee 上没有绿点怎么办&#xff1f; 3. 用户名和密码输入错误怎么办&#xff1f; 4. 操作时不小心…

智慧校园建设规划方案

在信息化浪潮的推动下&#xff0c;智慧校园的建设已成为教育现代化的必然趋势。以创新科技赋能教育&#xff0c;打造智慧校园&#xff0c;旨在提升教学品质&#xff0c;优化管理流程&#xff0c;增强学生体验。构建智慧校园需要具有前瞻性的规划方案&#xff0c;它将以教育为核…

多波段光源 通过8种波长实现的成像解决方案

光源在机器视觉中的重要性不容小觑&#xff0c;它直接影响到图像的质量&#xff0c;进而影响整个系统的性能。光源的作用包括提供足够的照明&#xff0c;并确保被摄物体的特征能够被准确地捕捉到图像中&#xff0c;使被检测物体产生清晰的图像&#xff0c;提高图像的对比度和亮…

mars3d实现geojson文件xxx.json格式等实现贴地效果

说明&#xff1a; 1.mars3d.js我们的这个sdk内部参数clampToGround是异步计算贴地效果的&#xff0c;最好的贴地方式是&#xff0c;给json数据准确的带高度的经纬度值。 补充前置知识说明&#xff0c;本身的geojson数据格式每个字段代表的意思需要掌握&#xff0c; GeoJSON …

MIT提出基于Transformer的Cross-Layer Attention:江湖骗子还是奇思妙想

大模型技术论文不断&#xff0c;每个月总会新增上千篇。本专栏精选论文重点解读&#xff0c;主题还是围绕着行业实践和工程量产。若在某个环节出现卡点&#xff0c;可以回到大模型必备腔调重新阅读。而最新科技&#xff08;Mamba,xLSTM,KAN&#xff09;则提供了大模型领域最新技…

漫谈企业信息化安全 - 零信任架构

一、引言 《万物简史》的作者比尔布来森说&#xff0c;当他小的时候学科学的时候&#xff0c;好像这些科学家们都是有一种本领&#xff0c;把科学总是以一种让人看不懂的方式说得神乎其神&#xff0c;好像有藏着什么不可告人的秘密。因此&#xff0c;想要写一本让大家都能看得…

Apache CXF Aegis databinding SSRF 高危漏洞修复

一、漏洞修复 Apache CXF Aegis databinding SSRF漏洞 Spring Web UriComponentsBuilder URL解析不当漏洞 二、修复步骤 1、Apache CXF Aegis databinding SSRF漏洞修复 步骤&#xff1a; 进入服务器搜索 databinding find -name *databinding* 发现版本是3.1.6 果断…

Android关于service call 直接调用方法分析

1 背景 希望通过命令的方式控制蓝牙打开与关闭&#xff0c;通过网上搜索我们都能搜到 //打开蓝牙 adb shell service call bluetooth_manager 6 //关闭蓝牙 adb shell service call bluetooth_manager 8其中运用到的就是service call&#xff0c;其机制是通过 Android 的 Bin…

vue3 3D炫酷模型banner图

项目场景&#xff1a; 在官网首页展示3D炫酷动画模型&#xff0c;让整个模型都展示出来。 问题描述 主要是3D动画的展示效果&#xff0c;有些3d模型网站可以从51建模网站中获取。 案例代码&#xff1a; <script setup> import * as imgs from ../units/img import { o…

融资融券保证金比例,融资融券最低利率4.0%

融资融券保证金比例是指投资者交付的保证金与融资、融券交易金额的比例&#xff0c;用于控制投资者初始资金的放大倍数。这个比例分为融资保证金比例和融券保证金比例。 融资融券保证金比例的计算 1. 融资保证金比例是指投资者融资买入证券时交付的保证金与融资交易金额的比例…

穿越时空的工厂之旅:探索可视化三维场景的奥秘

在科技日新月异的今天&#xff0c;我们似乎总是在不断追求着更加高效、智能的生产方式。 传统的工厂管理方式往往依赖于平面图纸、纸质文档和现场巡查&#xff0c;这不仅效率低下&#xff0c;而且容易出错。而三维可视化技术通过3D建模和虚拟现实技术&#xff0c;将工厂内部的各…

苗情灾情监控系统—提高农业生产效率

TH-MQ2苗情灾情监控系统是一种用于监测农作物生长状况和灾情的设备&#xff0c;通过实时监测和数据分析&#xff0c;帮助农民及时了解作物生长情况&#xff0c;采取相应的管理措施&#xff0c;提高农业生产效率和降低生产成本。 该系统通常由多种传感器、摄像头、数据传输模块等…

【项目问题解决】 java.lang.IllegalArgumentException: XML fragments parsed

java.lang.IllegalArgumentException: XML fragments parsed from previous mappers does not contain value for com.xxx.xxx.xxx.xxx.dao.SingleApasInfoDao.selectListCondition 目录 【项目问题解决】 java.lang.IllegalArgumentException: XML fragments parsed from pr…

【机器学习】Python中的决策树算法探索

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 Python中的决策树算法探索引言1. 决策树基础理论1.1 算法概述1.2 构建过程 2. P…

AI大模型探索之路-实战篇8:多轮对话与Function Calling技术应用

系列篇章&#x1f4a5; AI大模型探索之路-实战篇4&#xff1a;深入DB-GPT数据应用开发框架调研 AI大模型探索之路-实战篇5&#xff1a;探索Open Interpreter开放代码解释器调研 AI大模型探索之路-实战篇6&#xff1a;掌握Function Calling的详细流程 AI大模型探索之路-实战篇7…

数据结构的直接插入排序(C语言版)

一.直接插入排序的基本概念 1.直接插入排序的基本思想 将数组分为已排序和未排序两部分。 每次从未排序部分取出一个元素,将其插入到已排序部分的合适位置,使得已排序部分保持有序。 重复步骤2,直到整个数组有序。 2.排序的工作原理 假设前 i-1 个元素已经有序,现在要将第…