pyenv -- 一款macos下开源的多版本python环境安装管理工具 国内加速版安装 + 项目venv虚拟环境 pip加速 使用与总结

一个比较方便实用的python多版本环境安装管理工具, 阿里云加速版本

pyenv安装方法:

直接克隆本下面到你的本地目录,然后设置环境变量即可

bash 复制代码
git clone https://gitee.com/tekintian/pyenv.git ~/.pyenv

环境变量配置

在~/.bash_profile 或者 .zshrc 中增加环境变量

bash 复制代码
export PYENV_ROOT="$HOME/.pyenv"
# 如果目录$PYENV_ROOT/bin存在,则将目录加入到PATH环境变量
[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

查看可安装的python版本

复制代码
pyenv install -l

安装python版本

复制代码
pyenv install 3.12.5

查看已安装的版本

复制代码
pyenv versions

将系统中的已有python版本加入到pyenv中进行管理

原理就是将我们系统中已经安装的python 版本通过软连接的方式加入到 ~/.pyenv/versions文件夹下. 如将macos系统中默认的python加入pyenv来进行管理, macos默认的python版本一般安装在这个位置 /System/Library/Frameworks/Python.framework/Versions/

macos v10.15版本的默认python版本是2.7.16 版本, 我们执行一下ln命令即可将他纳入到pyenv版本管理中

bash 复制代码
# 创建一个软连接到pyenv版本目录
ln -s /System/Library/Frameworks/Python.framework/Versions/2.7 /Volumes/macosData/Tekin/.pyenv/versions/2.7.16

设置全局python版本

注意这里的版本好可以设置一个大版本号如 3.12 ,也可以完整指定版本号, 如 3.12.5

复制代码
pyenv global 3.12

设置本地(当前shell的)python版本

复制代码
pyenv local 3.12.5

项目中使用venv创建虚拟环境

bash 复制代码
# 创建venv环境命令: python -m venv 环境名称
python -m venv myenv

# 激活虚拟环境
source myenv/bin/activate
复制代码
当看到命令行提示符前面有(myenv)字样,表示已经进入了虚拟环境。这时就可以使用pip命令来安装所需的包和依赖库,以及进行其他的Python开发工作了。

pip国内加速配置

在完成了上面的步骤后,我们还需要配置一个pip包的加速,否则安装python包的时候会很慢

配置文件地址 ~/.pip/pip.conf 有就修改内容, 没有就创建这个文件

bash 复制代码
# 创建文件
touch ~/.pip/pip.conf

将下面的内容拷贝到 ~/.pip/pip.conf 中

bash 复制代码
[global]
index-url = https://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host = mirrors.aliyun.com

其他的一些目前可用的pip加速地址

http://mirrors.aliyun.com/pypi/simple

https://pypi.tuna.tsinghua.edu.cn/simple

https://mirrors.ustc.edu.cn/pypi/simple

设为默认pip加速镜像 命令行方式

注意这个方式和上面的~/.pip/pip.conf配置文件是一样的,选择设置一个即可, 加速地址可以自己选择上面3个服务商中的一个就可以了

复制代码
# 使用本镜像站来升级 pip
pip install -i https://mirrors.ustc.edu.cn/pypi/simple pip -U
pip config set global.index-url https://mirrors.ustc.edu.cn/pypi/simple

关于pyenv国内加速的说明

pyenv这个工具是一个shell +c的混合项目, 所有的安装包都预先通过python-build这个插件进行了安装定义, 所有的软件包下载地址也都是在这里进行定义的, 本项目已经将所有的python的发行包的地址都修改成了国内的加速下载地址. 如果需要自定义包的下载地址,可以直接修改 ~/.pyenv/plugins/python-build/share/python-build 这个文件夹里面对应版本中的下载地址即可

总结: pyenv将所有的python版本都进行了几种的管理,他将我们的所有的python版本都安装到了 versions文件夹下, 通过 shims 文件夹对外暴露版本供我们使用. 在项目开发中建议使用python内置的venv虚拟环境来对项目的python环境进行管理

相关推荐
历程里程碑21 分钟前
普通数组-----除了自身以外数组的乘积
大数据·javascript·python·算法·elasticsearch·搜索引擎·flask
曦月逸霜21 分钟前
Python快速入门——学习笔记(持续更新中~)
笔记·python·学习
喵手24 分钟前
Python爬虫实战:采集菜谱网站的“分类/列表页”(例如“家常菜”或“烘焙”频道)数据,构建高可用的美食菜谱数据采集流水线(附CSV导出)!
爬虫·python·爬虫实战·零基础python爬虫教学·采集菜谱网站数据·家常菜或烘焙频道·构建高可用食谱数据采集系统
喵手25 分钟前
Python爬虫实战:硬核解析 Google Chrome 官方更新日志(正则+文本清洗篇)(附 CSV 导出)!
爬虫·python·爬虫实战·零基础python爬虫教学·csv导出·监控谷歌版本发布历史·获取稳定版更新日志
星火开发设计25 分钟前
this 指针:指向对象自身的隐含指针
开发语言·数据结构·c++·学习·指针·知识
梵刹古音25 分钟前
【C++】构造函数
开发语言·c++
小邓睡不饱耶27 分钟前
实战|W餐饮平台智能化菜品推荐方案(含Spark实操+算法选型+完整流程)
python·ai·ai编程·ai写作
独自破碎E28 分钟前
【曼哈顿距离】BISHI25 最大 FST 距离
java·开发语言
苏涵.28 分钟前
Java三大集合:List、Set、Map
java·开发语言
Amumu1213828 分钟前
Vue3 Composition API(一)
开发语言·javascript·ecmascript