乐趣区

关于python:Python生态工具

Python 工作环境治理

Python2 和 Python3 之间存在 较大的差别 ,且因为各种起因导致 Python2 和 Python3 的 长期共存 ( 尽管 2020 年 1 月 1 日 Python2 曾经不再保护,然而网络上的代码和书???? 上仍然有局部采纳 Python2)

理论工作中,可能 同时须要用到 Python2 和 Python3,常常须要在 Python2 和 Python3 之间 切换

  • 比方:Centos默认装置 的是 Python2 版本,而且 yum 工具中 也在应用python2, 然而日常学习中应用 python3 作为开发环境

Pyenv – 治理不同的 Python 版本

Pyenv:Python 版本管理工具,能够 装置多个不同的 Python 版本 ,不同的 Python 版本之间 切换 也比较简单

  • 装置多个不同的 Python 版本
  • 实现不同 Python 版本的切换(蕴含 pip)

切换 Python 的版本之后,与版本相干的依赖 (pip) 也会一起切换,不必放心不同版本在零碎中是否互相烦扰

Pyenv 的网址

  • Pyenv 不能装置在 Windows 零碎上
  • 在 Windows 零碎上装置 pyenv-win 工具, 是 Pyenv 的适应版本,操作统一

Pyenv 的装置

  • Pyenv 提供了装置的办法

间接从 GitHub 下载我的项目到本地, 设置环境变量和启动主动补全的性能

$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv
 正克隆到 '/home/test/.pyenv'...
remote: Enumerating objects: 39, done.
remote: Counting objects: 100% (39/39), done.
remote: Compressing objects: 100% (24/24), done.
remote: Total 18096 (delta 17), reused 24 (delta 10), pack-reused 18057
接管对象中: 100% (18096/18096), 3.61 MiB | 4.00 KiB/s, done.
解决 delta 中: 100% (12306/12306), done.

$echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
$echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
$echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval"$(pyenv init -)"\nfi' >> ~/.bash_profile

装置实现之后须要从新载入配置文件 source .bash_profile

Pyenv 的应用

  1. 查看 pyenv 以后反对的版本, 通过 install 命令

    pyenv 能够装置不同的 Python 版本,也能够装置不同的 Python 实现

    pyenv install --list

  2. 装置 Python

    pyenv install -v 3.8.0

    • Pyenv 是 下载源码包编译装置的,须要提前装置依赖
    • pyenv 会从官网地址下载相应的版本,比较慢, 而且常常失败

      • 能够 从其余中央下载到源码包 ,放到~/.pyenv/cache 目录下,再执行装置,会应用曾经存在的源码包
      # 提前装置依赖
      $ yum -y install gcc zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel git
      # 从其余的源装置
      $  v=3.8.0; wget https://npm.taobao.org/mirrors/python//$v/Python-$v.tar.xz -P ~/.pyenv/cache/; pyenv install $v
  3. 查看以后存在的版本

    pyenv versions

    • 输入后果后面带 * 示意 以后应用的版本
  4. 抉择不同的 Python 版本

    pyenv global 3.8.0

  5. 删除 Python 版本

    pyenv unistall 3.8.0

virtualenv – 治理不同的我的项目

virtualenv 自身是一个独立的我的项目,用以 隔离不同我的项目的工作环境

  • 须要应用不同的 NumPy 的版本,显著不能应用惯例的办法在一台服务器上实现
  • virtualenv 将不同的 numpy 装置到不同的工作环境中,须要那个,进入那个工作环境

组合 Pyenv 和 virtualenv 就能够实现 Python 和第三方库任意版本的组合,领有弱小的灵活性,防止我的项目之间的烦扰

virtualenv 是一个 独立的工具 ,能够独自应用,然而如果 应用了 Pyenv,就 须要装置 pyenv-virtualenv 插件,而不是通过 virtualenv 软件应用 virtualenv 性能

pyenv-virtualenv 网址

pyenv-virtualenv 的装置

pyenv-virtualenv 的装置

$ git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv
$ echo 'eval"$(pyenv virtualenv-init -)"' >> ~/.bash_profile

与 pyenv 装置相似,实现之后须要从新载入配置文件 source .bash_profile

装置实现之后,能够 为同一个 Python 解释器装置多个不同的工作环境

  1. 查看工作环境

    pyenv virtualenvs

  2. 通过 activatedeactiveta 进入和退出一个工作环境
退出移动版