One - One Code All

Blog Content

Mac安装多个Python版本

Python Linux-Mac   2017-08-19 18:10:19

简介

利用Mac包管理工具brew安装pyenv,pyenv用来管理所有python版本。如果没有安装brew,先安装一下吧。


备份python package

pip3 freeze > requirements.txt


安装pyevn

$ brew install pyenv

$ pyenv -v

pyenv 1.2.6


查看所有的python版本(pyenv管理的所有版本)

$ pyenv versions

* system (set by /Users/xxx/.pyenv/version)

* 表示当前正在使用的版本,system表示用的是系统python版本


查看可安装python版本

$ pyenv install --list

Available versions:

  2.1.3

  2.2.3

  2.3.7

  ...

选择版本进行安装

$ pyenv install 3.5.5

python-build: use openssl from homebrew

python-build: use readline from homebrew

Downloading Python-3.5.5.tar.xz...

-> https://www.python.org/ftp/python/3.5.5/Python-3.5.5.tar.xz

Installing Python-3.5.5...

python-build: use readline from homebrew

Installed Python-3.5.5 to /Users/xxx/.pyenv/versions/3.5.5

墙内环境,会卡在这里,可以开代理,或者使用国内镜像。


使用国内镜像:


v=3.5.5|wget http://mirrors.sohu.com/python/$v/Python-$v.tar.xz -P ~/.pyenv/cache/;pyenv install $v

查看所有安装的版本

$ pyenv versions

* system (set by /Users/xxx/.pyenv/version)

  3.5.5

可以看到多了一个3.5.5版


切换版本

$ pyenv global 3.5.5 # 全局切换

$ python -V # 验证一下是否切换成功

此处用也可用local,只对当前目录生效


$ pyenv local 3.5.5 # 当前目录及其目录切换

$ python -V # 验证一下是否切换成功

此处有坑!


用pyenv versions查看,明明已经切换成功,但是用python -V却还是系统版本。原因是pyenv没有加到$PATH环境变量里去,解决办法如下:


export PYENV_ROOT=~/.pyenv

export PATH=$PYENV_ROOT/shims:$PATH

此时,再次查看python -V,已经成功切换到pyenv指定的版本。


可以把上边两句加到~/.bash_profile里去,永久生效。


有时设置了pyenv local版本后,再设置global会发现没有生效,可以尝试:


pyenv local --unset

解除local设置。


要切换回系统版本,用同样命令:


$ pyevn global system

卸载python版本

$ pyenv uninstall 3.5.5

查看pyenv指令列表

$ pyenv commands

--version

commands

completions

exec

global

help

hooks

init

install

local

prefix

realpath.dylib

rehash

root

shell

shims

uninstall

version

version-file

version-file-read

version-file-write

version-name

version-origin

versions

whence

which



上一篇:在Mac上删除自己安装的Python
下一篇:linux不打开文件删除文件的前n行

The minute you think of giving up, think of the reason why you held on so long.