cencenhai 发表于 2017-7-6 13:55:20

mac上Python多版本共存(python2.7.10和python3.5.0)

  本文的实现目标是在mac上安装一个python3.5.0的版本,跟当前系统自带的python2.7.10共存.
  
查看当前版本号
  

python -V  
2.7.10
  

安装配置Python版本管理器pyenv

1. 安装pyenv
  brew install pyenv
  
安装过程中,遇到一个一个问题Error: parent directory is world writable but not sticky

2. 根据提示需要添加变量
  

if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi  
export PYENV_ROOT=/usr/local/var/pyenv
  

  因为我已经安装了zsh,所以需要在~/.zshrc中将上面的两句加入到文件的末尾,最后执行
  
source ~/.zshrc

3. 查看已经安装了哪些版本的Python
  pyenv versions
  
其中版本号前面有*号的就是当前生效的版本,查看当前生效的版本也可以用
  
pyenv version

4. 安装指定版本的Python
  

pyenv install 3.5.0  
#安装完成后必须rehash
  
pyenv rehash
  

  安装过程中,也是出现报错BUILD FAILED (OS X 10.10.5 using python-build 20160130),解决办法见pyenv BUILD FAILED解决方法

5. 切换和使用指定的版本Python版本有3种方法
  

➜~ pyenv  
pyenv 20150310
  
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
  

  特别建议:
  

系统全局用系统默认的Python比较好,不建议直接对其操作  
pyenv global system
  

用local进行指定版本切换,一般开发环境使用。  
pyenv local 2.7.10
  

对当前用户的临时设定Python版本,退出后失效  
pyenv shell 3.5.0
  

取消某版本切换  
pyenv local 3.5.0 --unset
  

  优先级关系:shell——local——global
  #####另外最重要的一点,当执行了pyenv shell/local/global 命令后,一定要执行 source ~/.zshrc ,不然切换版本就不会生效。
  最后执行
  

➜~ pyenv versions  system
  
* 3.5.0 (set by PYENV_VERSION environment variable)
  
➜~
  
➜~ python -V
  
Python 3.5.0
  

参考资料:
  Mac多Python版本共存,多个独立Python开发环境切换
页: [1]
查看完整版本: mac上Python多版本共存(python2.7.10和python3.5.0)