• python虚拟环境完美部署


    一、前言

      预处理

        建议仔细看完本文章之后在进行操作,避免失误,本环境可以用于生产环境,有利于生产环境python之间的环境隔离,互相不会产生环境冲突;pyenv和pyenv-virtualenv可以完美结合使用,具体使用情况看项目具体要求;

      依赖环境要求

    yum install readline readline-devel readline-static -y
    yum install openssl openssl-devel openssl-static -y
    yum install sqlite-devel -y
    yum install bzip2-devel bzip2-libs -y
    yum install libffi-devel -y
    

      

    二、pyenv安装

      pyenv获取

    [root@tset ~]# git clone https://github.com/yyuu/pyenv.git ~/.pyenv
    Cloning into '/root/.pyenv'...
    remote: Enumerating objects: 17352, done.
    remote: Total 17352 (delta 0), reused 0 (delta 0), pack-reused 17352
    Receiving objects: 100% (17352/17352), 3.37 MiB | 24.00 KiB/s, done.
    Resolving deltas: 100% (11818/11818), done.
    

      配置pyenv系统环境

    [root@tset ~]# vim ~/.bashrc
    ## add by liuchao at 20190806         //添加以下内容
    export PYENV_ROOT="$HOME/.pyenv"
    export PATH="$PYENV_ROOT/bin:$PATH"
    eval "$(pyenv init -)"
        
    //保存退出
    [root@tset ~]# source ~/.bashrc        //执行配置生效
    

      

    三、pyenv使用

      pyenv 安装python版本

        个人建议:自己在python官网下载想要安装的版本;首先要在pyenv目录下创建cache文件夹,用来存放python安装包。(可以解决下载安装慢的问题)

    [root@tset ~]# mkdir ~/.pyenv/cache                //创建cache文件夹,将下载的python安装包存放,
    [root@tset ~]# cd ~/.pyenv/cache/
    [root@tset cache]# ls                              //python安装包后缀名必须是.tar.xz
    Python-2.7.16.tar.xz  Python-3.7.3.tar.xz
    

      pyenv install 

    [root@tset cache]# cd
    [root@tset ~]# pyenv install 3.7.3 -v
    /tmp/python-build.20190806095432.10104 ~
    /tmp/python-build.20190806095432.10104/Python-3.7.3 /tmp/python-build.20190806095432.10104 ~
    Installing Python-3.7.3...
    checking build system type... x86_64-pc-linux-gnu
    checking host system type... x86_64-pc-linux-gnu
    checking for python3.7... no
    checking for python3... no
    checking for python... python
    checking for --enable-universalsdk... no
    checking for --with-universal-archs... no
    checking MACHDEP... checking for --without-gcc... no
    checking for --with-icc... no
    checking for gcc... gcc
    checking whether the C compiler works... yes
    checking for C compiler default output file name... a.out
    checking for suffix of executables...
    checking whether we are cross compiling... no
    checking for suffix of object files... o
    checking whether we are using the GNU C compiler... yes
    checking whether gcc accepts -g... yes
    checking for gcc option to accept ISO C89... none needed
    checking how to run the C preprocessor... gcc -E
    checking for grep that handles long lines and -e... /usr/bin/grep
    checking for a sed that does not truncate output... /usr/bin/sed
    checking for --with-cxx-main=<compiler>... no
    checking for g++... no
    configure:
    

      检查是否安装成功

    [root@tset ~]# pyenv versions
    * system (set by /root/.pyenv/version)
      3.7.3
    

      更新数据库

    [root@tset ~]# pyenv rehash
    

      pyenv切换python版本

    [root@tset ~]# pyenv global 2.7.8  // 全局
    [root@tset ~]# pyenv local 2.7.8   // 当前目录下
    [root@tset ~]# pyenv shell 2.7.8   // shell版本
    [root@tset ~]# pyenv shell --unset // 取消当前的shell设定的版本
    #创建垫片路径(为所有已安装的可执行文件创建 shims,如:~/.pyenv/versions/*/bin/*,因此,每当你增删了 Python 版本或带有可执行文件的包(如 pip)以后,都应该执行一次本命令)
    [root@tset ~]# pyenv rehash  
    

      安装与卸载

    [root@tset ~]# pyenv install -l # 查看可安装的版本
    [root@tset ~]# pyenv install 2.7.8  # 安装python2.7.8的版本
    [root@tset ~]# pyenv rehash # 安装模块后
    [root@tset ~]# pyenv pyenv uninstall 2.7.8 # 卸载
    

      

    四、pyenv-virtualenv

      安装pyenv-virtualenv

    [root@tset ~]# git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
    Cloning into '/root/.pyenv/plugins/pyenv-virtualenv'...
    remote: Enumerating objects: 2064, done.
    remote: Total 2064 (delta 0), reused 0 (delta 0), pack-reused 2064
    Receiving objects: 100% (2064/2064), 580.31 KiB | 17.00 KiB/s, done.
    Resolving deltas: 100% (1413/1413), done.
    

      环境配置

    [root@tset ~]# echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile
    [root@tset ~]# source ~/.bash_profile
    

      使用方法

    [root@tset ~]# pyenv virtualenv 2.7.10 env-2.7.10			//创建虚拟环境
    [root@tset ~]# pyenv activate env-2.7.10			//激活虚拟环境
    [root@tset ~]# pyenv deactivate				//退出虚拟环境
    [root@tset ~]# pyenv uninstall env-2.7.10			//删除虚拟环境
    [root@tset ~]# rm -rf ~/.pyenv/versions/env-2.7.10				//删除真实目录
    

      

  • 相关阅读:
    python近期遇到的一些面试问题(一)
    python selenium 三种等待方式详解
    Nginx的ip_hash指令
    Nginx Tengine ngx_http_upstream_check_module 健康功能检测使用
    一个奇怪的网络故障 默认网关为0.0.0.0(Windows)
    win2003 server的域用户加入本地管理员组
    linux 添加secondary ip
    亚马逊云VPS AWS更改LINUX为ROOT权限密码登陆
    亚马逊云EC2做PPTP SERVER的笔记
    Linux性能分析 vmstat基本语法
  • 原文地址:https://www.cnblogs.com/sky-k/p/11308008.html
Copyright © 2020-2023  润新知