IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    Python 开发环境初始化配置

    Fish (fsh267@gmail.com)发表于 2017-04-06 00:00:00
    love 0

    本文介绍在 Linux环境下, Python 环境开发需要配置的内容, 包括 python3 安装, virtualenv 配置, pip 等.

    1. 源码安装 python3

    1. 首先去官网找到 source 地址, Python Source Releases, 以当前最新版本 Python3.6.1 为例, 打开该版本地址 Python 3.6.1

    2. 选择第一个源码包, 在 Linux 系统上使用 wget 下载.

       wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tgz ![e476766683cf5d13c0d14b77d3462fd2](https://private-alipayobjects.alipay.com/alipay-rmsdeploy-image/skylark/attach/1563/e476766683cf5d13c0d14b77d3462fd2)
      
    3. 解压缩, 编译安装 Python3, 安装需要用到 sudo 权限, 提前切换成有 sudo 权限的用户.

    tar -zxvf Python-3.6.1.tgz
    cd cd Python-3.6.1
    ./configure && make && sudo make install
    

    安装完成后, terminal 中输入 python3 就能打开解释器

    $python3
    Python 3.6.1 (default, Apr  6 2017, 20:09:12)
    [GCC 4.4.6 20110731 (Red Hat 4.4.6-3)] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>>
    

    2. 安装包管理工具 pip

    2.1 pip 介绍

    pip 之于 Python, 好比 mvn 之于 Java, npm 之于 NodeJS.

    好消息是, 如果你使用最新的 Python3 或者 Python2(Python 2 >=2.7.9 or Python 3 >=3.4), 系统默认已经安装了 pip.

    比如上面安装的 Python3, 我们很快找到 pip 的路径:

    $which python3
    /usr/local/bin/python3
    
    cd /usr/local/bin
    
    $ls pip*
    pip3  pip3.6
    

    2.2 pip 手动安装

    为了兼容 Python 老版本, 介绍下安装 pip 的步骤, 同样需要使用 sudo 权限:

    wget https://bootstrap.pypa.io/get-pip.py && sudo python get-pip.py
    

    3. 配置 Python 执行环境 virtualenv

    在开发Python应用程序的时候, 如果不同项目使用的 Django 版本不同, 第三方的包都会被pip安装到的site-packages目录, 会导致相互覆盖, 因此用到 Python 环境管理器 virtualenv 解决.

    virtualenv 主要解决如下问题:

    1. 不同项目使用不同版本的包, 相互独立
    2. 安装包, 不需要 sudo 权限

    3.1 区分 pyenv pyvenv virtualenv

    首先理解 3 个容易混淆的概念:

    1. pyenv 这是一个python 版本安装器, , 详情见官网说明. 比如本文 Python3.6.1 可以使用该工具进行安装:

       pyenv install 3.6.1
      
    2. pyvenv

      Python3.3 集成到标准库中的虚拟环境管理器, 放目的是将来替代 virtualenv (参考 PEP405), 但是不支持低版本的 Python, 当前功能不是非常完善.

    3. virtualenv

      本地新建目录, 将系统 Python 环境完整拷贝过来, 保持每个 python 环境的独立性.

    3.2 virtualenv 使用介绍

    • 首先, 安装 virtualenv
    sudo pip3 install virtualenv
    
    • 然后, 创建一个独立的 Python 环境, 给项目使用, 比如命名 great_python3_env
    virtualenv great_python3_env
    
    Using base prefix '/usr/local'
    New python executable in /home/admin/git/great_python3_env/bin/python3.6
    Also creating executable in /home/admin/git/great_python3_env/bin/python
    Installing setuptools, pip, wheel...done.
    

    如果不需要当前环境的包, 使用 virtualenv nowamagic_venv --no-site-packages 进行安装

    • 最后, 激活该环境, 也可以将如下命令添加到 ~/.bashrc 或者 ~/.zshrc 中
    source great_python3_env/bin/activate
    
    (great_python3_env)
    

    这样你就拥有了项目独立占用的 Python 环境, 由于刚才是 pip3 安装的 virtualenv, 因此生成的环境也是基于 Python3 的. 命令行测试如下:

    $which python
    ~/git/great_python3_env/bin/python
    
    

    可见 python 命令已经指向到了该环境中的 python, 同样, 该环境下使用 pip 命令安装, 也会安装到 ~/git/great_python3_env/lib/python3.6/site-packages/ 中.

    3.3 退出 virtualenv 环境

    使用 deactivate 退出当前环境

    deactivate
    

    4. 总结

    以上就是 Python 开发前的环境准备工作了, 简单整理如下:

    # 1. 源码安装
    mkdir ~/git && cd git
    wget wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tgz
    tar -zxvf Python-3.6.1.tgz
    cd Python-3.6.1
    ./configure && make && sudo make install
    
    # 2. 手动安装 pip
    wget https://bootstrap.pypa.io/get-pip.py && sudo python get-pip.py
    
    # 3. 初始化 virtualenv 环境
    sudo pip3 install virtualenv
    virtualenv great_python3_env
    source great_python3_env/bin/activate
    
    # 4. 添加到 .bashrc
    echo 'source ~/git/great_python3_env/bin/activate' >>  ~/.bashrc
    
    # 5. 退出 virtualenv
    deactivate
    

    5. 参考文档

    1. Pic 原地址
    2. pyenv Github
    3. python-pyenv-pyvenv-virtualenv-whats-the-difference
    4. VENV 文档
    5. PEP405
    6. pyvenv_vs_virtualenv


沪ICP备19023445号-2号
友情链接