pyenv管理多版本python

作者: GeekerHua | 来源:发表于2017-02-06 13:40 被阅读8380次

在工作中不同项目对Python的版本有着不同的要求,Python2与Python3的差异,是的很多时候我们要同时使用者两种环境来做对比。众所周知,ipython的交互性设计能带来很大的方便。最理想的状态下就是能够随时切换Python的版本,且Python2与Python3能够并存,并且都能拥有自己的ipython和自己的pip包管理工具。

对于mac电脑来说,会自带Python2,该Python在/usr/bin/python,这个Python可以使用,安装插件,但无法删除。mac的很多功能都依赖与Python,因此,不建议对这个Python进行修改,安装包等操作。如果一不小心,出现问题,系统就会崩溃。

对于已经从Python官网上下载并安装的情况,最好把这个Python进行删除。

删除Python官网下载的Python

1   删除Python框架
2   sudo rm -rf /Library/Frameworks/Python.framework/Versions/x.x
3   删除Python程序
4   sudo rm -rf “/Applications/Python x.x”
5   删除/usr/local/bin目录下的Python连接

x.x为Python的版本号

mac自带Python安装pip

mac自带的Python是没有安装pip的,已不建议安装。如果需要安装,
mac里面Python自带easy_install的,最快的应该就是在terminal里面执行sudo easy_install pip,网络好几秒就ok。运行完可以用pip help测试一下是否安装成功,成功安装后,直接pip install numpy或者其他包就可以了。

pyenv(最正规的好用的多版本管理工具)

参考
这个pyenv会管理不同版本的Python,可以随时切换全局的Python版本,可以Python2与Python3并存,并且能够指定项目的Python版本。

  1. 安装pyenv

    $ brew install pyenv
    
  2. 添加到环境变量

    $ echo 'eval "$(pyenv init -)"' >> ~/.zshrc
    

    如果用的是bash,则将.zshrc修改为.bashrc

  3. 应用zsh(bash)设置

    $ source ~/.zshrc
    $ exec $SHELL -l     # 输入命令重启 Shell,然后就可以重启pyenv
    
  4. 安装python

    $ pyenv install 3.6.0    # 安装3.6.0版本
    
  5. 重建索引

    $ pyenv rehash
    
  6. 设置全局pyhon版本

    $ pyenv global 2.7.13 3.6.0
    
  7. 指定项目python版本

    $ pyenv local 3.5.2
    

装好后,如需使用python3的pip,则使用pip3,使用python2的pip,则使用pip或pip2.ipython同理。

pyenv管理的python位于~/.pyenv/versions/中,并且全都在~/.pyenv/shims/中以软连接的形式存在,因此,无论版本怎么切换,which python的结果都应该是~/.pyenv/shims/ipython

其他命令

$ pyenv version         # 查看当前生效python版本
$ pyenv versions        # 查看已安装版本
$ pyenv install list    # 查看可用版本

安装常见问题

  1. 安装时出现zipimport.ZipImportError: can't decompress data; zlib not available错误官方的解释
解决方法1:
$ brew install readline xz
$ CFLAGS="-I$(xcrun --show-sdk-path)/usr/include" 

解决方法2:
1、安装依赖zlib、zlib-devel
2、重新编译安装Python

    1   ./configure 
    2   编辑Modules/Setup文件 
    3   找到下面这句,去掉注释 
    4   #zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz 
    5   重新编译安装:make & make install 

sublime支持python3直接运行并显示中文

新建编译环境,输入以下内容

{
    "cmd": ["$ which python3 的路径", "-u", "$file"],  
    "env": { "PYTHONIOENCODING": "utf8" }   # 使Python3支持中文
}

选择新建的编译环境进行编译。

相关文章

  • Python-Pyenv管理多版本python

    1. 安装 pyenv 管理多版本Python pyenv 是一个 Linux和MacOS平台下的Python版本...

  • Python环境隔离神器-Pyenv

    概述 pyenv是Python多版本管理工具。pyenv-virtualenv是python虚拟环境管理工具,主要...

  • pyenv

    pyenv是个多版本python管理器,可以同时管理多个python版本共存,如pypy,miniconde等等 ...

  • mac安装多个python

    pyenv用来管理所有python版本,和nvm 一样都是多版本管理工具 安装pyevn 如果输出pyenv 1....

  • pyenv

    pyenv是python的多版本管理包,实现互相独立、互不干扰的python环境配置。 安装pyenv 安装电脑是...

  • Node版本管理控制器n

    简介: Node 可以通过n来管理不同的版本。类似Python中的pyenv进行python多版本管理。 安装 n...

  • Python版本管理pyenv

    Pyenv简介 对多版本的python进行管理 为指定目录设定python环境,进入目录自动切换python版本 ...

  • Pyenv 管理多版本 Python

    Pyenv 管理多版本 Python Xcode 升级到12.3后,本地 Python 版本自动升级到 3.8,原...

  • 1、Mac使用经验

    20180329 安装pyenv,virtualenv等进行python多版本管理,修改.bashrc之后。ter...

  • 在macOS上通过pyenv安装和切换多版本Python pip

    Pyenv: python版本管理器Pipenv: python包管理器,更好用的pip。 python版本管理工...

网友评论

    本文标题:pyenv管理多版本python

    本文链接:https://www.haomeiwen.com/subject/jtzyittx.html