• python多版本以及各种包管理


    python多版本以及各种包管理

    python版本管理

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

    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   source bashrc必须重开一个shell窗口才生效
    1. git clone https://github.com/yyuu/pyenv.git ~/.pyenv 
    2. echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile 
    3. echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile 
    4. echo 'eval "$(pyenv init -)"' >> ~/.bash_profile 
    5. source ~/.bash_profile 

    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 #pyenv install --list 查看版本 install之时通过tab进行补全 

    Anaconda的一些使用说明:

    • 查看当前系统下的环境
    1. conda info -e 
    • 查看已经安装的包
    1. conda list 
    • 想要运行,必须先创造环境与管理环境中package
    1. conda create -n env_name 
    2.  
    3. # 查看某个指定环境的已安装包 
    4. conda list -n python34 
    5.  
    6. # 查找package信息 
    7. conda search numpy 
    8.  
    9. # 安装package 
    10. conda install -n python34 numpy 
    11. # 如果不用-n指定环境名称,则被安装在当前活跃环境 
    12. # 也可以通过-c指定通过某个channel安装 
    13.  
    14. # 更新package 
    15. conda update -n python34 numpy 
    16.  
    17. # 删除package 
    18. conda remove -n python34 numpy 
    • anaconda整体更新
    1. # 更新conda,保持conda最新 
    2. conda update conda 
    3.  
    4. # 更新anaconda 
    5. conda update anaconda 
    6.  
    7. # 更新python 
    8. conda update python 
    9. # 假设当前环境是python 3.4, conda会将python升级为3.4.x系列的当前最新版本 
    • anaconda国内镜像
      清华TUNA镜像源有Anaconda仓库的镜像,可以加速我们的版本安装,执行完下列命令后,会生成~/.condarc(Linux/Mac)或C:UsersUSER_NAME.condarc文件,记录着我们对conda的配置,直接手动创建、编辑该文件是相同的效果。
    1. # 添加Anaconda的TUNA镜像 
    2. conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ 
    3. # TUNA的help中镜像地址加有引号,需要去掉 
    4.  
    5. # 设置搜索时显示通道地址 
    6. conda config --set show_channel_urls yes 

    机器学习Python环境安装

    建立深度学习Tensorflow目录

    • mkdir tensorflow

    pyenv使用局部环境

    1. pyenv install --list #查看版本 
    2. pyenv install anaconda3.xxxx #安装3版本 
    3. pyenv local anaconda3.xxxx #选择anaconda3版本环境 
    4. python #验证,会进入3版本 
    5. pyenv versions  #查看版本 

    pyenv使用anaconda进行局部控制

    • pyenv install anaconda属于安装了整个包,我们可以通过pyenv local设置使用anaconda2或者3来使用2或者3版本的python
    • anaconda引用之后,可以使用conda命令来建立环境,隔绝相互之间的影响,以安装numpy为例子
    1. conda create -n env_name 
    2.  
    3. # 查看某个指定环境的已安装包 
    4. conda list -n python34 
    5.  
    6. # 查找package信息 
    7. conda search numpy 
    8.  
    9. # 安装package 
    10. conda install -n python34 numpy 
    11. # 如果不用-n指定环境名称,则被安装在当前活跃环境 
    12. # 也可以通过-c指定通过某个channel安装 
    13.  
    14. # 更新package 
    15. conda update -n python34 numpy 
    16.  
    17. # 删除package 
    18. conda remove -n python34 numpy 

    使用conda建立tensorflow环境变量

    1. conda install -n tensorflow python=3.6 
    2. # 此时会安装3.6版本相关的python包,包括pip3 
    3.  
    4. source activate tensorflow 
    5. # (tensorflow)$ # Your prompt should change  
    6.  
    7. pip install --upgrade tensorflow-gpu 
    8. #此时pip是属于3.6版本,安装也是最新版本的tf,从安装cp=3.6,安装过程中会出现xxx1.2.1,说明tf为1.2.1 
    9.  
    10. (tensorflow)$ pip install --ignore-installed --upgrade  
    11. https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.2.1-cp34-cp34m-linux_x86_64.whl 
    12. #指定版本安装 
    13.  
    14. source deactivate tensorflow 
    15. #退出环境变量 

    测试tf

    1. # Python 
    2. import tensorflow as tf 
    3. hello = tf.constant('Hello, TensorFlow!'
    4. sess = tf.Session() 
    5. print(sess.run(hello)) 
    6.  
    7. #importError: libcusolver.so.8.0 
    8. export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH >>.bash_profile 

    此种方式安装tensorflow所在目录

    1. #在任意一个目录下启动pyenv的相关环境变量 
    2. pyenv global anaconda3-4.4.0/envs/tensorflow #pyenv和anaconda结合 
    3. #find ~ -name 'tensorflow'查找到tf于pip所安装的目录 
    4. ~/.pyenv/versions/anaconda3-4.4.0/envs/tensorflow/lib/python3.6/site-packages/tensorflow 

    重启之后进入对应环境并更新对应机器学习库

    1. #若重启之前对应文件夹里若使用过pyenv 对应环境 
    2. pyenv global anaconda 
    3. #通过pyenv versions验证 
    4.  
    5. conda install -n tensorflow sklearn 
    6. #会提示  sklearn: scikit-learn ,seaborn 
    7. conda install -n tensorflow scikit-learn 
    8. #conda会自动导入相关的包,libgfortran,mkl,numpy,scikit-learn,scipy 
    9.  
    10. #由于anaconda比较大,如果安装过大会导致用户所占硬盘过大 
    11. pyenv uninstall anaconda2.x.x 

    小结

    • 一般就安装一个anaconda版本,若网速过慢,可以考虑更改为国内镜像。
    • 万不得已不用anaconda建立新的环境变量,所占空间过大
    • 一般情况都使用pip来进行原生态的安装
  • 相关阅读:
    zblog如何更改数据库配置以及生效
    阿里云RDS数据库改造迁移方案
    如何突破微信的支付额度限制
    IIS进行URL重写——实现https重定向,文件类型隐藏访问重写,nodejs等服务重写等等
    windows设置本地域名解析
    自己写的加密网页,与百度网盘私密很相似,需要密码才能访问(原创)
    CSS3 translate、transform、transition区别
    IIS前端页面不显示详细错误解决方法
    CSS滚动条设置
    IIS支持PHP文件解析
  • 原文地址:https://www.cnblogs.com/forest-wow/p/7259311.html
Copyright © 2020-2023  润新知