macos搭建python3虚拟环境

我们知道macos自带的python版本是Python2.7, 这个版本比较老而且往往和我们的工程不兼容,所以就得需要我们升级Python版本,

我们不建议直接升级macos自带的本地Python2.7, 因为macos有一些基础软件是依赖于Python2.7的,如果动了遇到问题想再改回去会很麻烦,

所以Python虚拟环境是个比较方便的工具,可以针对不同的工程虚拟不同的Python版本,

比如macos需要同时运行两个工程,A工程需要python3.7,  B工程需要Python3.10,都可以做到环境的隔离的。

下面快速介绍如果构建虚拟Python环境,分两种情况:

第一种情况,你本地之前已经使用过Pycharm 虚拟了一个venv的环境,工程在Pycharm里面运行是可以的,

这种情况下,如果在命令行跑工程的话需要手动激活一下虚拟环境

$ cd /Users/fl/projectA 到工程目录下
$ source venv/bin/activate  激活虚拟环境然后再执行python -V和pip -V看看虚拟环境是否生效,如果返回结果都待了env的标识说明已经切成功了
$ python -V
Python 3.8.8
(env)
$ pip -V
pip 20.2.3 from /Users/fl/Desktop/projectA/env/lib/python3.8/site-packages/pip (python 3.8)
(env)

第二中情况,本地从来没有pycharm虚拟环境,后面也不打算启动pycharm,就是想直接运行工程代码

这种情况需要自己手动虚拟环境

$ cd /Users/fl/projectA 到工程目录下
$ python3 -m venv venv 前提是本地得安装Python3,最后一个venv表示虚拟环境的名字 ,也可以起别的名字,这里我们建议和PyCharm内的保持一致
$ source venv/bin/activate 激活虚拟环境然后再执行python -V和pip -V看看虚拟环境是否生效,如果返回结果都待了env的标识说明已经切成功了
$ python -V
Python 3.8.8
(env)
$ pip -V
pip 20.2.3 from /Users/fl/projectA/env/lib/python3.8/site-packages/pip (python 3.8)
(env)$ pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/ 安装依赖

虚拟环境只在当前的命令终端的生命周期内生效,如果新开的命令终端需要重新执行激活命令 $ source venv/bin/activate  

附赠

Pycharm创建虚拟环境

PyCharm →  Preferences

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

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

相关文章

日志框架及其使用方法

log4j和logBack,同一个人写的,logBack为log4j的升级版,SpringBoot中默认集成logBack 作用:记录软件发布后的一些bug,以及数据是怎样被操作的 传统开发弊端: 1.日志直接输出在控制台,关闭控制台后,日志消…

Netty:在一个ByteBuf中寻找另外一个ByteBuf出现的位置

说明 利用ByteBufUtil的indexOf(ByteBuf needle, ByteBuf haystack)函数可以在haystack中寻找needle出现的位置。如果没有找到,返回-1。 示例 在一个ByteBuf 中找到了另外一个ByteBuf package com.thb;import io.netty.buffer.ByteBuf; import io.netty.buffer.…

Linux: network: tools: tcpdump,抓取vlan包需要注意的事情;不然会出现LLC协议

https://bugzilla.redhat.com/show_bug.cgi?id498981#c4 https://serverfault.com/questions/544651/vlan-tags-not-shown-in-packet-capture-linux-via-tcpdump 如果不加-e参数,抓取不到 vlan信息,会导致wireshark解析出现问题。因为,抓到…

AirServer是什么软件,手机屏幕投屏电脑神器

什么是 AirServer? AirServer 是适用于 Mac 和 PC 的先进的屏幕镜像接收器。 它允许您接收 AirPlay 和 Google Cast 流,类似于 Apple TV 或 Chromecast 设备。AirServer 可以将一个简单的大屏幕或投影仪变成一个通用的屏幕镜像接收器 ,是一款…

PDF Expert 3.3 for mac

PDF Expert是一款专业的PDF编辑和阅读工具。它可以帮助用户在Mac、iPad和iPhone等设备上查看、注释、编辑、填写和签署PDF文档。 以下是PDF Expert的特点: PDF编辑:PDF Expert提供了丰富的PDF编辑功能,包括添加、删除、移动、旋转、缩放、裁…

《贫穷的本质》阅读笔记

《贫穷的本质》阅读笔记 2023年8月11日在杭州小屋读完,对于穷,我可有太多想说的了。可以说自己活这么大以来,一直在摆脱贫穷,也将会穷尽一生去避免贫穷。作为一个穷人该如何去摆脱贫穷,我觉得没有一个确切的答案&#…

windows 安装免费3用户ccproxy ubuntu 代理上网

Windows 上进行安装 ubuntu 上进行设置 方法一 (临时的手段) 如果仅仅是暂时需要通过http代理使用apt-get,您可以使用这种方式。 在使用apt-get之前,在终端中输入以下命令(根据您的实际情况替换yourproxyaddress和proxyport)。 终…

HCIA---路由器--静态路由

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 目录 前言 一.路由器简介 二.路由器转发原理 三.骨干链路 四.路由分类 五.静态路由 六.静态路由拓展配置 一.负载均衡 二.环回接口 三.手工汇总 四.路由黑洞 五.缺…

【分布式存储】数据存储和检索~B+树

为什么数据存储结构重要 在存储系统中,其实不管数据是什么样的,归根结底其实都还是取决于数据的底层存储结构,而主要常见的就是数据库索引结构,B树、Redis中跳表、以及LSM、搜索引擎中的倒排索引。本质都是如何利用不用的数据结构…

软件设计师(七)面向对象技术

面向对象: Object-Oriented, 是一种以客观世界中的对象为中心的开发方法。 面向对象方法有Booch方法、Coad方法和OMT方法等。推出了同一建模语言UML。 面向对象方法包括面向对象分析、面向对象设计和面向对象实现。 一、面向对象基础 1、面向对象的基本…

7. 延迟队列

延迟队列 7.1. 延迟队列概念 延时队列,队列内部是有序的,最重要的特性就体现在它的延时属性上,延时队列中的元素是希望 在指定时间到了以后或之前取出和处理,简单来说,延时队列就是用来存放需要在指定时间被处理的 元素的队列。 7…

【Spring Boot】构建RESTful服务 — 使用Swagger生成Web API文档

使用Swagger生成Web API文档 高质量的API文档在系统开发的过程中非常重要。本节介绍什么是Swagger,如何在Spring Boot项目中集成Swagger构建RESTful API文档,以及为Swagger配置Token等通用参数。 1.什么是Swagger Swagger是一个规范和完整的框架&…

QT创建项目

可选择CMake或qmake

SSL证书DV和OV的区别?

SSL证书是在互联网通信中保护数据传输安全的一种加密工具。它能够确保客户端和服务器之间的通信得以加密,防止第三方窃听或篡改信息。在选择SSL证书时,常见的有DV证书和OV证书,它们在验证标准和信任级别上有所不同。那么SSL证书DV和OV的有哪些…

二叉搜索树K和KV结构模拟

一 什么是二叉搜索树 这个的结构特性非常重要,是后面函数实现的结构基础,二叉搜索树的特性是每个根节点都比自己的左树任一节点大,比自己的右树任一节点小。 例如这个图, 41是根节点,要比左树大,比右树小&…

人工智能原理概述 - ChatGPT 背后的故事

大家好,我是比特桃。如果说 2023 年最火的事情是什么,毫无疑问就是由 ChatGPT 所引领的AI浪潮。今年无论是平日的各种媒体、工作中接触到的项目还是生活中大家讨论的热点,都离不开AI。其实对于互联网行业来说,自从深度学习出来后就…

进入现代云技术的世界-APIGateway、ServiceMesh、OpenStack、异步化框架、云原生框架、命令式API与声明式API

目录 APIGateway Service Mesh OpenStack 异步化框架 云原生框架 命令式API与声明式API APIGateway API网关(API Gateway)是一个服务器——充当了客户端和内部服务之间的中间层。API网关负责处理API请求,将客户端的请求路由到相应的后端…

StringJoiner

1、为什么要学习StringJoiner? 2、StringJoiner概述 StringJoiner跟StringBuilder一样,也可以看成一个容器,创建之后里面的内容是可变的。 2.1、作用 提高字符串的操作效率,而且代码编写特别简洁,但是目前市场上很少有…

银行家算法

1.设计目的与要求 1.1设计目的 了解银行家算法中使用的数据结构和求安全序列算法,并进一步加深对避免死锁算法及其实现过程的理解。 1.2设计要求 通过编写和调试一个系统动态分配资源的简单模拟程序,观察死锁产生的条件,并采用适当的算法&a…

2023.8.7论文阅读

文章目录 CMUNeXt: An Efficient Medical Image Segmentation Network based on Large Kernel and Skip Fusion摘要本文方法实验结果 Boundary Difference Over Union Loss For Medical Image Segmentation(损失函数)摘要本文方法实验结果 CMUNeXt: An E…