新手教学系列——如何在MacOS 10.13.6(老系统)手动安装和配置Pyenv

前言

对于使用老旧系统(如MacOS 10.13.6)的用户来说,安装和管理Python版本可能会遇到一些挑战。特别是由于Homebrew不再支持老系统,许多软件安装变得困难重重。本文将详细介绍如何在这样的环境下手动安装和配置Pyenv,让你能够顺利管理Python版本。

为什么选择Pyenv?

Pyenv 是一个简单的Python版本管理工具,它允许你在同一台机器上轻松地安装和切换不同的Python版本。这对于开发和测试不同版本的Python应用程序尤为重要。

准备工作

在开始之前,请确保你已经连接到网络,并准备好使用终端进行操作。如果你的网络需要通过代理访问,请准备好代理服务器的信息。

下载并安装Pyenv

首先,我们需要从GitHub上克隆Pyenv的代码库。为了确保下载过程顺利进行,我们可以设置HTTP代理。

# 使用git克隆pyenv代码库,并设置代理
git clone -c http.proxy="http://your-proxy-server:proxy-port" https://github.com/pyenv/pyenv.git ~/.pyenv 

配置环境变量

接下来,我们需要将Pyenv的路径添加到系统的环境变量中,以便能够在终端中全局使用Pyenv命令。

# 将Pyenv的路径添加到.zshrc文件中
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'export PATH="$PYENV_ROOT/shims:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init -)"' >> ~/.zshrc# 使配置生效
source ~/.zshrc

以上命令将Pyenv的安装目录添加到系统路径,并配置了Pyenv的初始化脚本。

创建缓存目录

为了加速Python版本的安装过程,我们可以提前下载好需要的Python安装包,并将其放在缓存目录中。

# 创建缓存目录
mkdir ~/.pyenv/cache

下载并安装Python版本

你可以在官方Python下载页面找到所需版本的tar.xz安装包,然后下载到缓存目录中。以下是一个示例:

# 将Python安装包下载到缓存目录
# 假设你下载了Python 3.11的安装包到~/Downloads目录
cp ~/Downloads/Python-3.11.4.tar.xz ~/.pyenv/cache/# 使用Pyenv安装Python 3.11
pyenv install 3.11

确保安装包的后缀是.tar.xz,这是Pyenv所支持的格式。

验证安装

安装完成后,你可以使用以下命令来验证Python版本是否安装成功:

# 验证Python版本
pyenv versions# 设置全局默认的Python版本
pyenv global 3.11# 检查当前Python版本
python --version

应用实例

以下是一个简单的示例,展示了如何使用不同版本的Python来运行不同的脚本:

# 创建并激活一个新的虚拟环境
pyenv virtualenv 3.11 myenv
pyenv activate myenv# 编写并运行一个简单的Python脚本
echo 'print("Hello, Pyenv!")' > hello.py
python hello.py# 输出应为:Hello, Pyenv!

通过这种方式,你可以轻松地在不同的Python版本之间切换,并确保每个项目都使用正确的Python版本和依赖项。

结语

虽然在老旧系统上安装和配置软件可能会遇到一些困难,但通过手动安装Pyenv并进行适当的配置,你仍然可以顺利地管理Python环境。希望这篇文章对你有所帮助,如果你遇到任何问题,欢迎在评论区留言,我们将尽力为你解答。

关注【程序员的开发手册】,让您少走十年弯路!

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

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

相关文章

BGP选路之Next Hop

原理概述 当一台BGP路由器中存在多条去往同一目标网络的BGP路由时,BGP协议会对这些BGP路由的属性进行比较,以确定出去往该目标网络的最优BGP路由,然后将该最优BGP路由与去往同一目标网络的其他协议路由进行比较,从而决定是否将该最优BGP路由放进P路由表中…

数据代理实践

1,什么事数据代理机制? 通过访问 代理对象的属性 来向该访问 目标对象的属性 数据代理机制的视线需要依靠,Object.defineProperty()方法 2, ES6新特性: 在对象中的函数/方法 :function是可以省略的 &l…

宝塔国际版Docker Manager 3.4获取镜像列表报错解决办法

宝塔国际版安装Docker Manager 3.4,遇到获取镜像列表的时候报错。 解决办法 找到:/www/server/panel/plugin/docker/docker_main.py文件 替换函数utc_to_local 原代码 # UTC时间转换为时间戳def utc_to_local(self, utc_time_str, utc_format=%Y-%m-%dT%H:%M:%S):

机器学习(五) -- 无监督学习(1) --聚类2

系列文章目录及链接 上篇:机器学习(五) -- 无监督学习(1) --聚类1 下篇: 前言 tips:标题前有“***”的内容为补充内容,是给好奇心重的宝宝看的,可自行跳过。文章内容被…

2个案例区分是平行眼还是交叉眼,以及平行眼学习方法

案例一: 交叉眼:看到凸出的“灌水”,是交叉眼。PS:看的时候,眼是斗鸡眼,眼睛易疲劳 平行眼:看到凹陷的“灌水”,是平行眼。PS:看的时候眼睛是平视,不容易疲…

springboot校园车辆管理系统-计算机毕业设计源码63557

校园车辆管理系统 摘 要 校园车辆管理系统是当前高校校园管理中的一个重要方面,其有效管理和调度对于提升校园的运行效率和管理水平至关重要。本论文基于Spring Boot框架开发了一套校园车辆管理系统,系统主要包括用户和管理员两大角色,涵盖…

Sprint Boot 2 核心功能(二)

数据访问 1、SQL 1.1、数据源的自动配置-HiKariDataSource 1.1.1、导入JDBC场景 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jdbc</artifactId> </dependency>数据库驱动&#xff1…

什么是湖仓一体?湖仓一体解决了什么问题?

目录 一、数据仓库&数据湖&湖仓一体概念辨析 1.数据仓库&#xff08;Data Warehouse&#xff09; 2.数据湖&#xff08;Data Lake&#xff09; 3.湖仓一体&#xff08;Lakehouse&#xff09; 二、湖仓一体的优点 三、湖仓一体要解决什么问题? 四、结语 随着当前大数据…

在spyder中使用arcgis pro的包

历时2天终于搞定了 目标&#xff1a;在anconda中新建一个arcpyPro环境&#xff0c;配置arcgispro3.0中的arcpy 一、安装arcgispro3.0 如果安装完之后打开arcgispro3.0闪退&#xff0c;就去修改注册表&#xff08;在另一台电脑安装arcgispro遇到过&#xff09; 安装成功后可…

Python3网络爬虫开发实战(1)爬虫基础

一、URL 基础 URL也就是网络资源地址&#xff0c;其满足如下格式规范 scheme://[username:password]hostname[:port][/path][;parameters][?query][#fragment] scheme&#xff1a;协议&#xff0c;常用的协议有 Http&#xff0c;https&#xff0c;ftp等等&#xff1b; user…

如何借助生成式人工智能引领未来的科技狂潮

如何借助生成式人工智能引领未来的科技狂潮 1. 生成式AI的现状1.1 技术基础1.1.1 深度学习1.1.2 生成对抗网络&#xff08;GANs&#xff09;1.1.3 变分自编码器&#xff08;VAEs&#xff09; 1.2 主要应用1.2.1 语言模型1.2.2 图像生成1.2.3 音频与视频生成 2. 未来的发展趋势2…

DNS服务器的搭建

目录 1、DNS服务器端软件 2、DNS服务器搭建 第⼀步&#xff1a;环境准备 第二步&#xff1a;web主机的搭建 第三步&#xff1a;服务器端配置DNS 第四步&#xff1a;配置DNS主机 第五步&#xff1a; 检查配置文件是否正确 3、搭建完成 回到客户端测试 1、DNS服务器端软…

Java语言程序设计基础篇_编程练习题*15.21(拖动点)

*15.21(拖动点) 绘制一个圆&#xff0c;在圆上有三个随机点。连接这些点构成一个三角形。显示三角形中的角度。使用鼠标沿着圆的边拖动点。拖动的时候&#xff0c;三角形以及角度动态地重新显示&#xff0c;如图15-30b 所示。计算三角形角度的公式参考程序清单4-1 可以参考上…

SD换脸reactor

目前安装最复杂的插件 ReActor&#xff0c; 安装吐了&#xff0c;幸亏自己是屌丝程序员&#xff0c;插件是通过python写的&#xff0c;通过给源代码输出一些信息&#xff0c;最终定位问题&#xff0c;安装成功了。看看他的换脸效果. 图生图 重绘幅度为0 reactor 设置五官图像…

【Django】在vscode中运行调试Django项目(命令及图形方式)

文章目录 命令方式图形方式默认8000端口设置自定义端口 命令方式 python manage.py runserver图形方式 默认8000端口 设置自定义端口

vue3+vite 实现动态引入某个文件夹下的组件 - glob-import的使用

<template><div class"user-content"><HeaderTitle title"用户详情"></HeaderTitle><div class"main-content"><div><UserForm /></div><div><TableList></TableList></d…

基于Python的帕金森病人步态分析

目录 摘要一、引言1.背景知识2.实验目的和意义 二、实验方法1.实验环境2.实验步骤2.1 生成信号&#xff0c;进行手动傅里叶变换以及内置 FFT 函数傅里叶变换2.2 进行手动傅里叶变换以及内置 FFT 函数傅里叶变换2.3 基于傅里叶变换的步态信息分析2.4 基于傅里叶变换的卷积分析 3…

【事半功倍】视频素材播放之不二法门——倍速之法,无级变速

【事半功倍】视频素材播放之不二法门——倍速之法&#xff0c;无级变速 一、一般の三种方式1.1 原生H5 video1.2 Video.js1.3 动态切换播放速度 二、最佳设置三、效果 一、一般の三种方式 1.1 原生H5 video 对于原生HTML5 video 元素&#xff0c;你可以直接使用 playbackRate…

【算法刷题】【力扣】| 最长回文子串|

给你一个字符串 s&#xff0c;找到 s 中最长的 示例 1&#xff1a; 输入&#xff1a;s "babad" 输出&#xff1a;"bab" 解释&#xff1a;"aba" 同样是符合题意的答案。示例 2&#xff1a; 输入&#xff1a;s "cbbd" 输出&#x…

智慧学院智能化项目规划设计方案

1. 项目概况 智慧学院智能化项目规划旨在打造集人才培养、科学研究、技术创新等于一体的高端研究生院。项目占地面积广阔&#xff0c;包含教学、科研、学生宿舍、教师宿舍、公共服务和公共配套等多个功能区域。 2. 建设思想 建设思想强调投资合理、统一规划、立足现状、适度…