mac下使用pyenv,pyenv-virtualenv管理python的多个版本

0.系统版本

angel:~ $ more /System/Library/CoreServices/SystemVersion.plist

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

<plist version="1.0">

<dict>

<key>ProductBuildVersion</key>

<string>14C109</string>

<key>ProductCopyright</key>

<string>1983-2015 Apple Inc.</string>

<key>ProductName</key>

<string>Mac OS X</string>

<key>ProductUserVisibleVersion</key>

<string>10.10.2</string>

<key>ProductVersion</key>

<string>10.10.2</string>

</dict>

</plist>

1.安装homebrew

打开终端输入如下命令,就可以安装homebrew。

angel:~ $ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

测试是否安装成功

angel:~ $ brew -v

Homebrew 0.9.5

表示安装成功。

参照 http://brew.sh/index_zh-cn.html

2.安装pyenv,pyenv-virtualenv

angel:~ $ brew install pyenv

angel:~ $ brew install pyenv-virtualenv

验证是否安装成功

angel:~ $ pyenv -v

pyenv 20150326

angel:~ $ pyenv-virtualenv --version

/usr/local/bin/pyenv-virtualenv: line 127: pyenv-prefix: command not found

/usr/local/bin/pyenv-virtualenv: line 130: pyenv-prefix: command not found

pyenv-virtualenv 20150119 (virtualenv unknown)

pyenv安装成功,pyenv-virtualenv有点异常先略过(具体原因还未调查,倒是不影响后面使用,有看官知道原因的欢迎交流)。

3.pyenv install --list 查看可以安装的python版本

angel:~ $ pyenv install --list

Available versions:

2.7

2.7.1

2.7.2

2.7.3

2.7.4

2.7.5

2.7.6

2.7.7

2.7.8

2.7.9

......(由于篇幅问题,此处略去3000字)

3.4.2

3.4.3

3.5.0a1

3.5.0a2

3.5-dev

4.安装对应的python版本

angel:~ $ pyenv install 3.4.3

pyenv: /Users/angel/.pyenv/versions/3.4.3 already exists

continue with installation? (y/N) N

我的电脑已经安装过3.4.3。。。

用pyenv versions可以查看目前正在使用的python版本,前面带星号(*)的就是表示当前使用的python版本(3.4.3)

angel:~ $ pyenv versions

system

* 3.4.3 (set by /Users/angel/.pyenv/version)

参照http://v2in.com/pyenv-installation-and-usage.html

http://seisman.info/python-pyenv.html

5.设定环境

在 .bashrc(或者.bash_profile)加入如下内容

没有如上2个文件,可以生成一个。

if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi

if which pyenv-virtualenv-init > /dev/null; then eval "$(pyenv virtualenv-init -)"; fi

6.pyenv global 来回切换python版本

angel:~ $ python

Python 3.4.3 (default, May  2 2015, 21:56:04)

[GCC 4.2.1 Compatible Apple LLVM 6.1.0 (clang-602.0.49)] on darwin

Type "help", "copyright", "credits" or "license" for more information.

>>> exit()

angel:~ $ pyenv versions

system

* 3.4.3 (set by /Users/angel/.pyenv/version)

angel:~ $ pyenv global system

angel:~ $ python

Python 2.7.6 (default, Sep  9 2014, 15:04:36)

[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)] on darwin

Type "help", "copyright", "credits" or "license" for more information.

>>> exit()

angel:~ $ pyenv versions

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

3.4.3

angel:~ $ pyenv versions

“system"是系统默认版本

7.pyenv virtualenv创建虚拟python环境

angel:~ $ pyenv virtualenv 3.4.3 myvenv

Ignoring indexes: https://pypi.python.org/simple

Requirement already satisfied (use --upgrade to upgrade): setuptools in /Users/angel/.pyenv/versions/myvenv/lib/python3.4/site-packages

Requirement already satisfied (use --upgrade to upgrade): pip in /Users/angel/.pyenv/versions/myvenv/lib/python3.4/site-packages

angel:~ $ pyenv virtualenvs  ‘查看python虚拟环境

myvenv (created from /Users/angel/.pyenv/versions/3.4.3)

angel:~ $ pyenv versions

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

3.4.3

myvenv

angel:~ $ pyenv shell myvenv

pyenv-virtualenv: activate myvenv

(myvenv) angel:~ $ python

Python 3.4.3 (default, May  2 2015, 21:56:04)

[GCC 4.2.1 Compatible Apple LLVM 6.1.0 (clang-602.0.49)] on darwin

Type "help", "copyright", "credits" or "license" for more information.

>>> exit()

(myvenv) angel:~ $ pyenv versions

system

3.4.3

* myvenv (set by PYENV_VERSION environment variable)

最后想说的是,pyenv 的相关命令通过pyenv -h 和 pyenv commands来查看,具体用法自己试验。

angel:~ $ pyenv commands

--version

activate

commands

completions

deactivate

exec

global

help

hooks

init

install

local

prefix

rehash

root

shell

shims

uninstall

version

version-file

version-file-read

version-file-write

version-name

version-origin

versions

virtualenv

virtualenv-init

virtualenv-prefix

virtualenvs

whence

which

angel:~ $ pyenv -h

pyenv 20150326

Usage: pyenv <command> [<args>]

Some useful pyenv commands are:

commands    List all available pyenv commands

local       Set or show the local application-specific Python version

global      Set or show the global Python version

shell       Set or show the shell-specific Python version

install     Install a Python version using python-build

uninstall   Uninstall a specific Python version

rehash      Rehash pyenv shims (run this after installing executables)

version     Show the current Python version and its origin

versions    List all Python versions available to pyenv

which       Display the full path to an executable

whence      List all Python versions that contain the given executable

See `pyenv help <command>‘ for information on a specific command.

For full documentation, see: https://github.com/yyuu/pyenv#readme

考照http://tbb.co/managing-python-on-os-x-with-pyenv/

Good night !

时间: 2024-10-13 21:50:13

mac下使用pyenv,pyenv-virtualenv管理python的多个版本的相关文章

pyenv和virtualenv搭建python虚拟环境

pyenv: 是针对python版本的管理, 通过修改环境变量的方式来实现. vittualenv: 针对python包的多版本管理,通过将python包安装到一个模块来做为python的包的虚拟环境, 通过切换目录来实现不同环境间的切换. pyenv 原理: pyenv通过在当前shell路径$PATH进行控制实现版本及开发环境控制,在路径前面插入垫片路径(shims)(指向具体的python版本及开发项目环境),这样系统会优先调用指定的版本及开发项目环境.添加删除版本,开发项目环境,安装包改

centos6 pyenv和virtualenv搭建python虚拟环境

安装pyenv 基础环境软件包安装 yum -y install gcc gcc-c++ make git patch openssl-devel zlib-devel readline-devel sqlite-devel bzip2-devel bzip2-libs yum install -y net-tools vim lrzsz tree screen lsof tcpdump nmap sysstat dos2unix 选择安装到$HOME/.pyenv目录 git clone ht

用pyenv和virtualenv搭建单机多版本python虚拟开发环境

作为主流开发语言, 用python 开发的程序越来越多. 方便的是大多linux系统里面都默认集成了python, 开发可以随时随地开始. 但有时候这也成为了一个短板, 比如说有时候我们需要开发和调试一些需要安装在默认python路径里的程序, 反复地修改和安装会使系统目录越来越乱,这对于一些有洁癖的程序员来说是不可接受的. 还有时候我们需要在不同的python版本上开发, 而系统一般只会自带一到两种python版本, 切换起来更是麻烦. 本文将介绍如何利用pyenv 和virtualenv 在

Mac 系统下类似于 apt-get 的软件包管理器 -- Homebrew

对于一个习惯了在 Ubuntu 的终端上通过 apt-get 来安装工具软件的我来说,也希望在Mac上找到类似的工具,能很方便的一条命令就能安装所需的软件,而不用手工的去查找下载编译,或者是折腾安装所需的一些依赖关系.很惊喜发现,Mac上也有类似的工具软件包管理器 --Homebrew. Homebrew 并不是什么软件包都能装,它只是能装一些系统缺省的软件包,例如:wget.nginx.mysql等等.不过随着 homebrew0.9版 新加了 tap 操作,支持安装第三方数据源的软件包,以后

MAC下用homebrew安装及配置apache、php和mysql

我们用到php运行环境的时候总喜欢用集成包,其实在mac下,用homebrew也可以很快的安装这些东西,配置也很简单. homebrew homebrew是mac下的一个包安装管理工具,使用非常简单方便. 安装homebrew 在终端中执行: ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 这样就安装好homebrew了. 安装命令行软件 如安装wget,

Mac 下使用 homebrew 切换不同版本 php

最近刚切换回 Mac 下进行开发,所以写了比较多的 Mac 环境部署之类的文章.今天需要重新切换一下本地的开发环境.原本想直接在当前环境下开发, 毕竟 Mac 自带了 PHP 环境,今天需要新添一个扩展 freetype ,需要重新编译一遍 PHP. 由于这个扩展是核心内置扩展,没法通过phpize来编译安装. 解决办法只有一个,就是找到PHP的安装源码重新编译一下,在编译的时候,加上–with-freetype-dir. 但是要知道的一个事 -- Mac上PHP是内置的,根本就找不到它的安装源

virtualenv+pyenv管理python工作环境

因为python2与3之间存在差异,所以日常工作中可能需要在2与3之间来回切换.在相同的python版本中,有可能有的项目需要用到django1.8,别的项目需要用到django1.9,所以如果可以在本地环境中自由切换,对于开发者来说简直是太便利了.记得我刚开始学习的时候,因为python版本的问题,给自己的mac重装了很多次,现在想想,真的是一把鼻涕一把泪啊. 首先说说如何通过pyenv让python2与3在自己的本地环境中共存. 安装pyenv,我们从github上clone,分别执行一些安

用pyenv管理Python多版本及下载加速方法--Mac上

原文:https://www.jianshu.com/p/91fc7ecc5e46 先大致介绍下pyenv的安装及配置流程.随后介绍加速下载方法 安装: brew install pyenv 配置 在如下文件中 ~/.bash_profile 添加配置 export PYENV_ROOT=/usr/local/var/pyenv if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi 如果使用zsh,则需要在如下文件

使用 pyenv 管理 Python 版本

http://einverne.github.io/post/2017/04/pyenv.html Posted on 04/22/2017 by Ein Verne | View revision history 记录一下使用过程,留备以后使用. pyenv 是 Python 版本管理工具. pyenv 可以改变全局的 Python 版本,安装多个版本的 Python, 设置目录级别的 Python 版本,还能创建和管理 virtual python environments .所有的设置都是