zoukankan      html  css  js  c++  java
  • python多版本以及各种包管理

    python多版本以及各种包管理

    python版本管理

    由于Python有2.x和3.x两个大的版本,而且每一个工程建立所用的各种包的版本也不尽相同(如flask1.x),这使得若干个工程开发同一台主机上完成比较麻烦(工程不是由一个人来完成,不同人的配置版本也不尽相同,为了所有开发人员能成功开发,就必须使得开发环境的一致,而一个人可能参与若干个工程开发)。
    pyenv 管理 Python 的版本。
    virtualenv 管理 Python 工程中的包的版本(或者说 Python 项目的执行环境)管理。
    不过现在pyenv-virtualenv集成了virtualenv功能,总体上,使用pyenv即可。
    anaconda 和virtualenv整体差不多,不过它更加集中于科学计算方面的内容,所以许多科学计算包可以通过anaconda来进行管理。
    总之,pyenv管理大的环境与版本之间的转换。anaconda可以在这个前提之下,进行小版本转换。

    python版本和包的管理

    预备安装的准备条件

    1. sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev  
    2. libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev  
    3. xz-utils tk-dev 

    pyenv安装

    利用pyenv管理系统版本,而利用anaconda管理第三方库。

    • (1) 选择安装到$HOME/.pyenv目录(但你可以在某处安装其他)。
      git clone https://github.com/yyuu/pyenv.git ~/.pyenv
    • (2)配置环境变量
      echo ‘export PYENV_ROOT="$HOME/.pyenv"’ >> ~/.bashrc
      echo ‘export PATH="$PYENV_ROOT/bin:$PATH"’ >> ~/.bashrc
    • (3)添加pyenv初始化到你的shell
      echo ‘eval “$(pyenv init -)”’ >> ~/.bashrc
      source ~/.bashrc

    pyenv使用命令

    • 展示python的某个版本,anaconda-2支持python2.6和2.7  anaconda-3支持python3.3和3.4
    1. hpc@hpc:~$ pyenv install --list 
    2. Available versions: 
    3. 2.1.3 
    4. 2.2.3 
    5. 2.3.7 
    6. 2.4 
    7. 2.4.1 
    8. 2.4.2 
    9. 2.4.3 
    10. 2.4.4 
    11. 2.4.5 
    • 安装和卸载python的某个版本
    1. pyenv install -v 2.7.5 
    2. pyenv uninstall 2.7.5 
    3. rm -rf ~/.pyenv/versions/2.7.5 ##移除版本2.7.5 
    • 查看并切换版本
    1. #tab键可以进行补全,通过versions命令查看大体,细节tab补全 
    2. pyenv versions 
    3. pyenv local 2.7.5 ##局部文件下版本切换 
    4. pyenv global 3.3.5   ##全局系统下的版本切换 

    Anaconda科学计算包的使用:

    • 通过pyenv安装Anaconda科学计算包
    1. pyenv install anaconda  

    Anaconda的一些使用说明:

    • 查看当前系统下的环境
    1. conda info -e 
    • 查看已经安装的包
    1. conda list 
    • 想要运行,必须先创造环境
    1. conda install -n env_name 
  • 相关阅读:
    proto 在c++ 和c# 的使用。
    socket 2.草稿。
    unix 基本操作。
    tcp ip 草稿。
    并发,互斥,锁。草稿
    二叉顺序树。
    单链表。
    s数据结构,算法,算法时间复杂度
    c++11 function bind 测试。
    [汇编语言]-第三章寄存器(内存访问)
  • 原文地址:https://www.cnblogs.com/forest-wow/p/7202774.html
Copyright © 2011-2022 走看看