Python版本管理工具: Pyenv 和 Pyenv-Virtualenv 的安装和使用(在 Mac 和 Zsh 环境下)

[Python]MacBook安装pyenv多版本管理 对比之前文章提到过Go的多版本工具相应的经验,然后本地将python也配置下多版本切换,有助于项目的灵活切换;以下展示用MacBook系统做个栗子;其他系统见末尾的参考; 阅读详情

pyenv 可以帮助你建立多个版本的 python 环境,它们相互隔离,不会污染到系统自带的 Python( pip 安装的包也是在各自目录下的)

安装

安装 pyenv

pyenv 项目主页#安装步骤

$ brew update
$ brew install pyenv
添加环境变量

PYENV_ROOT指向pyenv检出的根目录,并向$PATH添加$PYENV_ROOT/bin以提供访问pyenv这条命令的路径(这里的shell配置文件依不同SHELL而需作修改,如bash:~/.bash_profile,Zsh:~/.zshrc )

ZSH

用 brew 安装的话,配置好环境变量的了(我自己又按手动方法在 zsh 里加了环境变量)

After installation, you’ll still need to add

eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

to your profile (as stated in the caveats). You’ll only ever have to do this once.


pyenv 项目主页#安装步骤

  1. Define environment variable PYENV_ROOT to point to the path where pyenv repo is cloned and add $PYENV_ROOT/bin to your $PATH for access to the pyenv command-line utility.
# 我的 zsh 将环境变量放在另一个文件(env.sh)中,在那里添加环境变量就可以了
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
  1. Add pyenv init to your shell to enable shims and autocompletion. Please make sure eval "$(pyenv init -)"is placed toward the end of the shell configuration file since it manipulates PATH during the initialization.
# 使用自动完成功能,要将配置写在 shell configuration file 末尾
$ echo 'eval "$(pyenv init -)"' >> ~/.zshrc
  1. Restart your shell so the path changes take effect.
$ exec $SHELL # 重启shell(因为修改了$PATH)

安装 pyenv-virtualenv

pyenv-virtualenv 项目主页#安装步骤

使用 brew 安装

$ brew install pyenv-virtualenv

Add pyenv virtualenv-init to your shell to enable auto-activation of virtualenvs. This is entirely optional but pretty useful. See “Activate virtualenv” below.

# 使用自动完成等功能,直接将下面这句写在 shell configuration file (~/.zshrc) 末尾就可以
eval "$(pyenv virtualenv-init -)"

# 用命令的话是下面那样:
$ echo 'eval "$(pyenv init -)"' >> ~/.zshrc

使用

pyenv 使用

命令参考 · yyuu/pyenv

pyenv install安装指定的版本

$ pyenv install -v 2.7.13 #添加-v参数用于显示细节
$ pyenv rehash  #安装新版本的python或者其他二进制包后都需要运行,或者重启shell

pyenv-virtualenv 使用

创建

创建虚拟环境–pyenv virtualenv 版本号 虚拟环境名。

$ pyenv virtualenv 3.5.1 venv-3.5.1
删除
$ pyenv uninstall my-virtual-env
# 删除时会弹出对话框,输入‘y’确认
# 或者你可以直接删除 ~/.pyenv/versions中的相应目录
仅查看python的虚拟环境
$ pyenv virtualenvs
自动激活
$ mkdir myproject
$ cd myproject
$ pyenv local myenv
手动激活

You can also activate and deactivate a pyenv virtualenv manually:

pyenv activate <name>
pyenv deactivate

管理版本的其他简单方法

  • 不要更改系统默认的python2(因为改了可能会导致系统某些用python2写的系统文件出错),每次执行时加版本号,python 就是2的版本,python3就是3的版本;用 pip会安装包到 2 的版本,用pip3会安装到 3的版本。
  • 直接在自己写的程序里指定环境变量,如 #!/usr/bin/env python3。

参考

python虚拟开发环境配置 - 简书 #配置好了 #相关使用可以再参考这个

Python多版本管理器pyenv和虚拟环境pyenv-virtualenv的安装设置 - 简书

使用pyenv搭建python虚拟环境 - 运维之美 | 十条

pyenv的安装使用和问题解决 使用pyenv和pyenv-virtualenv可以轻松的管理不同版本的Python,而且各个版本的环境完全独立,互不干扰,在Linux下结合shell,是十分推荐的。 这里记录Ubuntu系统下的安装、使用的一些步骤,同时也记录一些使用Pyenv的一些比较复杂的问题的解决方案。 安装 依赖安装 为了避免一些不必要的麻烦,这里建议是提前安装一些依赖: sudo apt install -y git make wget curl build-essential libssl-dev zlib1g-dev li 阅读详情

相关推荐

虚拟环境工具pyenv的安装,配置和使用,完美控制python版本

前言   我觉得如果使用 python 开发的话,还是在 unix/linux 的环境下吧,shell 工具的效率比 windows 高得多,尽管 windows 下也有 cmder 这种神器,而且现在 windows store 也很好的开发出了 linux 子系统,但是瑕疵非常多,unix/linux 才是完美的环境。本文用到的是 archlinux ,另外 debian/ubuntu、cen...

花里胡哨的小博客 6279

在Mac上安装pyenv

pyenv是正确使用多个python版本的工具。我认为以后使用pyenv安装python会很方便。pyenv是使用多个Python版本的工具。使用python时,先安装pyenv很方便。

3999

pyenv + virtualenv实现python不同版本的纯净虚拟环境的搭建与管理

Mac 端 pyenv + virtualenv实现python不同版本的纯净虚拟环境的搭建 pyenv: 它是一个简单的Python版本管理工具。前身为Pythonbrew,pyenv允许你改变全局的python版本,安装多种不同的python版本,设置应用指定的python版本以及创建/管理虚拟的python环境(”virtualenv’s”)。所有这些都在*NIX的机器上完成(Linux和O...

Always day 1 421

Mac系统安装pyenv,python版本管理器,超好用

python版本管理工具,mac下载安装pyenv

qq_44270604的博客 2069

C# ArcGIS Engine二次开发——实现“加载shp文件”

private void AddShpDataToolStripMenuItem_Click(object sender, EventArgs e) { OpenFileDialog OpFileDialog=new OpenFileDialog();//OpenFileDialog:打开文件对话框 OpFileDialog.Title="添加矢量数据"; OpFileDialog.Filter="(*.shp)|*.shp";//filter:过滤器;"(*.shp)|*.shp"

weixin_42191203的博客 5254

超10万,两台Mac Studio在家就能跑满血DeepSeek,网友:这是性价比最高的大模型一体机

在AI计算领域,没有比这更强的个人电脑了。这要从它的架构说起。对于那些有本地部署满血版DeepSeek需求的用户,目前建议的配置是选购512GB统一内存 + 1TB SSD,搭载M3 Ultra芯片的Mac Studio,官网售价74249元,可以叠加国补、教育优惠、12期分期等,这可能是目前门槛最低、性价比最高的满血版DeepSeek本地部署方案。对于企业而言,尽管Mac Studio确实可以部署6000亿参数的大模型,但在内存带宽、模型精调服务等方面,跟专用的大模型一体机仍有差距,采购需要谨慎评估。

2501_90444774的博客 1918

Ubuntu安装Python版本管理工具pyenv

gyf@gyf-VirtualBox:~$git clone https://github.com/yyuu/pyenv.git ~/.pyenv Cloning into '/home/gyf/.pyenv'... remote: Enumerating objects: 17608, done. remote: Total 17608 (delta 0), reused 0 (delta 0...

weixin_36476763的博客 428

STM32-DAC定时器触发三角波生成【频率与幅度精准控制】

本文详细介绍了STM32 DAC定时器触发三角波生成的原理与实现方法,涵盖硬件配置、频率与幅度精准控制技巧及代码实现。通过定时器触发DAC模块,可灵活调节三角波的频率和幅度,适用于信号发生器等高精度应用场景。

weixin_29161785的博客 453

Mac OSX python多版本管理工具:pyenv 和 virtualenv搭建

Installation pyenv 方法1使用Mac OSX的Homebrew安装 方法2通过github工程安装 Installation pyenv-virtualenv Using pyenv-virtualenv 特定python版本的某个环境下pip安装包 Install issues ERROR pyenv install -v 351 failed to download Pytho

MingjaLee's Blog 1万+

UE5实战:用Cesium插件打造逼真湖泊效果(附波纹参数调优技巧)

本文详细介绍了在Unreal Engine 5中利用Cesium插件创建逼真区域水效果(如湖泊)的实战流程。重点解析了通过材质层混合机制,精细调整波纹参数(如DistanceScale、NearScale)来模拟不同水体状态,并提供了从资产创建、地形配置到视觉调优的一站式解决方案,帮助开发者高效实现非海洋水域的动态视觉效果。

weixin_29209805的博客 160

CAD文件转换避坑指南:Inventor导出STP时这些设置千万别忽略

本文深入解析了使用Autodesk Inventor导出STP文件时的关键设置与避坑指南。重点探讨了应用协议选择、样条曲线拟合精度对几何保真度的影响,以及装配体结构和元数据的保全策略,旨在帮助用户实现高质量、零误差的CAD数据交付,避免下游软件打开时出现特征丢失或曲面破碎等问题。

weixin_29214559的博客 518

Python 版本管理:Anaconda、pyenv、virtualenv、venv

Anaconda、pyenv、virtualenv、venv

freeking101的博客 3406

为什么reg2cgate的setup难以满足?

从图上我们可以看出,clock gate的clock latency是delay1,reg1的clock latency是delay1+delay2,可以明显的看出,reg2cgate的setup,其launch clock path delay天生是要比capture clock path delay要多delay2的,因此其setup相对于reg2reg是不好满足的。因此,在数字后端脚本、flow上比较擅长,大家如果有相关的问题,可以提供答疑咨询服务。因此,能够让我们去处理的就是delay2的值。

芯冰乐 1935

macOS 12 pyenv 和 pyenv-virtualenv 安装和使用

所以需要自行下载Python版本,而多个版本的Pyhton在Mac中可能会有冲突,最好是用版本管理来进行管理 pyenv可以通过命令方便的管理Python的环境,python-virtualenv是基于pyenv的python 虚拟环境管理 配置shell环境,这里有一个坑点,第一条是pyenv 2021下半年才新增的命令,网上许多文章没有,导致pyenv的版本控制无法正常使用

酉酉的博客 2517

【YOLOv8科研级优化】基于YOLOv9的GELAN模块重构C2f结构,实现精度与效率的同步提升

打开确保模型解析器能识别GELANBlock模块。通过将YOLOv9的GELAN模块集成到YOLOv8的C2f模块中,我们实现了一个“强特征表达+高效计算”的目标检测模型。这个改进不仅在工程上能提升复杂场景下的检测效果,更在科研上提供了“多分支特征融合”的创新思路——这种思路可以延伸到其他检测网络(如Faster R-CNN、SSD)的改进中,帮你在论文中打造独特的研究点。

know_F0727的博客 203

PyTorch深度学习实战(36)——Pix2Pix详解与实现

Pix2Pix 是基于生成对抗网络的图像转换框架,能够将输入图像转换为与之对应的输出图像,能够广泛用于图像到图像转换的任务,如风格转换、图像修复、语义标签到图像的转换等。Pix2Pix 的核心思想是通过对抗训练将输入图像和目标输出图像进行配对,使生成网络可以学习到输入图像到输出图像的映射关系。在本节中,将学习使用 Pix2Pix 根据给定轮廓生成图像。

盼小辉丶的博客 1万+

Mac 系统 Python 开发环境搭建:Pyenv + Virtualenv 图文完整方案

Virtualenv 是一个用于创建隔离 Python 环境的工具,它能为每个项目生成独立的虚拟环境,使不同项目的依赖包互不干扰。每个虚拟环境都是一个包含独立 Python 解释器、库和脚本的目录。由 Ian Bicking 创建,是 Python 生态中最经典、最轻量的虚拟环境管理工具,至今仍是许多开发者的首选方案。核心功能✅ 依赖隔离每个项目拥有独立的 site-packages 目录不同项目可使用相同包的不同版本(如 Django 3.2 vs 4.2)彻底解决"依赖地狱"问题。

蜗牛的博客 1526

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Mac下安装brew,及Pyenv 使用国内源安装Python

https://mirrors.tuna.tsinghua.edu.cn/help/homebrew/ 安装brew,使用清华源 wget http://mirrors.sohu.com/python/3.8.2/Python-3.8.2.tar.xz -P ~/.pyenv/cache/;pyenv install 3.8.2 只需先查到源链接,修改一下即可安装其他版本。 三、 安装zlib依赖 brew install zlib 将zlib的头文件及库文件添加至系统默认的路径,如果更..

neo_liukun的专栏 3138

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

在Mac中使用pyenv管理Python版本:从安装到虚拟环境的全流程指南

pyenv` 是一款轻量级的Python版本管理工具,支持**多版本共存**、**虚拟环境创建**和**全局/局部版本切换**,尤其适合Mac和Linux系统。- **解决**:检查`.zshrc`或`.bashrc`中是否添加`pyenv`路径,并执行`source ~/.zshrc`。2. **固定Python版本**:通过`pyenv local`在项目根目录指定版本,确保团队环境一致。- **说明**:正常现象!- `3.10.11`:通过`pyenv`安装的版本,带`*`表示当前激活版本。

buw369521的博客 2806

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

MAC下pyenv和pyenv-virtualenv插件初探

为什么会使用pyenv和pyenv-virtualenv插件 一般mac自带一个python版本,称为系统版本。对于开发者而言,肯定不够用啦。所以需要在同一个mac上组建不同的开发环境并且不会冲突。 pyenv使你可以在不同python版本之间轻松切换。它简单,低调,并且遵守UNIX的传统:single-purpose tools that do one thing well。 pyenv是

caoliu1024cl的博客 1848

mac如何使用brew安装pyenv虚拟环境

由于mac 系统现在默认使用的都是zsh 终端了,将如下内容添加到用户的.zshrc 配置文件中。二、使用homebrew 安装 pyenv 和 pyenv-virtualenv 工具。3、将以下内容放在 ~/.pip/pip.conf 文件中保存。1、使用pyenv 安装python3.10.6。2、编辑 ~/.pip/pip.conf 文件。三、使用pyenv 安装python环境。2、安装结束后,查看pyenv 版本号。1、在自己的用户目录下创建.pip目录。五、安装allure。

weixin_46920081的博客 2068

解决mac 安装pyenv的问题及安装pyenv-virtualenv教程

解决mac 安装pyenv的问题及安装pyenv-virtualenv教程 mac安装好brew的前提 1.安装好pyenv brew install pyenv 2.配置环境 echo -e ‘if command -v pyenv 1>/dev/null 2>&1; then\n eval “$(pyenv init -)”\nfi’ >> ~/.bash_profile 如配置在zshrc则后缀改为~/.zshrc 3.重启配置 source ~/.bash

python_chengcheng的博客 1116

mac配置python虚拟环境pyenv

一、安装配置pyenv 经常遇到这样的情况: 系统自带的Python是2.x,自己需要Python 3.x,测试尝鲜; 系统是2.6.x,开发环境是2.7.x 由于Mac机器系统保护的原因,默认的Python中无法对PIP一些包升级,需要组建新的Python环境。 此时需要在系统中安装多个Python,但又不能影响系统自带的Python,即需要实现Python的多版本共存。pyenv就是这样一个P...

u010805109的博客 1083

MacOS安装管理Python多版本

工作或学习过程中,总有需求使用 Python 不同的版本,如何同时安装多个版本,并进行灵活切换就变得很重要。以前都会通过修改环境变量的方式,指定 Python 的默认路径,但这样做好麻烦。更换电脑后,发现还有 pyenv 这样一个好用的 Python 版本管理工具。它不仅可以同时安装多个Python 版本,切换不同版本,还可以指定某一文件夹所使用的 Python 版本,就连 Python 的虚拟环境 virtual environments 也可以一起管理。

Zerol_Yan的博客 6331

Python多版本管理工具-pyenv相关总结

由于需要进行MAC下多Python管理,看了很多相关文章,这是自己的理解的相关总结。包括最重要的pyenv 和 virtualenv,anaconda有什么区别 文章目录Python多版本管理工具 -- pyenvpyenv介绍pyenv安装pyenv命令pyenv常见命令pyenv 和 virtualenv,anaconda有什么区别相关问题 Python多版本管理工具 – pyenv py...

Donald Su 1108

python虚拟环境和pyenv_MacOS 下利用 pyenv 管理Python 版本和虚拟环境

pyenv 介绍pyenv 是 Python 版本管理工具。pyenv 可以改变全局的 Python 版本,安装多个版本的 Python,设置目录级别的 Python 版本,还能创建和管理 virtual python environments。所有的设置都是用户级别的操作,不需要 sudo 命令。pyenv 主要用来管理 Python 的版本,比如一个项目需要 Python 2.x,一个项目需要...

weixin_39843151的博客 290
上一篇: 167. Two Sum II - Input array is sorted
下一篇: Python 里的 pyc 文件是什么?
DataAlchemist
博客等级 码龄7年 1粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值