python3虚拟环境安装 cento

发布时间:2019-09-25 08:22:44编辑:auto阅读(1786)

    一、CentOS 上部署Python3
    1、安装依赖包

    yum -y install zlib-devel bzip2-devel openssl-devel sqlite-devel readline-devel curl epel-release gcc

    2、官网下载python原码包

    curl -o python3.6.tgz https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz

    3、解压安装

    tar -xf Python-3.6.5.tgz -C /usr/local/src/

    4、修改配置文件
    首先进入上一步解压的目录

    cd /usr/local/src/Python-3.6.5/

    执行如下命令,取消对应位置的注释

    sed -ri 's/^#readline/readline/' Modules/Setup.dist

    sed -ri 's/^#(SSL=)/\1/' Modules/Setup.dist

    sed -ri 's/^#(_ssl)/\1/' Modules/Setup.dist

    sed -ri 's/^#([\t]*-DUSE)/\1/' Modules/Setup.dist

    sed -ri 's/^#([\t]*-L\$(SSL))/\1/' Modules/Setup.dist

    5、开始编译安装

    ./configure --enable-shared

    --enable-shared 指定安装共享库,共享库在使用用其他需调用用python的软件时会用用到,比比如使用用mod_wgsi连接Apache与python时需要

    make -j 2 && make install

    -j cpu核心心数

    6、配置共享库文文件

    1)为所有用用户设置共享库目目录
    #cd /usr/local/src/Python-3.6.5/
    #cp libpython3.6m.so.1.0 /usr/local/lib64/
    #cp libpython3.6m.so.1.0 /usr/lib/
    #cp libpython3.6m.so.1.0 /usr/lib64/
    2)刷新环境变量
    #source /etc/profile

    7、测试python

    python3

    Python 3.6.5 (default, Mar 29 2019, 17:13:23)
    [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux
    Type "help", "copyright", "credits" or "license" for more information.

    exit()

    8、测试 pip3

    pip3 -V

    pip 9.0.3 from /usr/local/lib/python3.6/site-packages (python 3.6)

    二、使用第三方的虚拟工具 Virtualenvwrapper
    2.1 安装virtualenvwrapper 提供了一系列命令使得和虚拟环境⼯作变得愉快许多。它把你所有的虚拟环境都放在一个地方。更重要的是,你只需运行一个命令即可进入到你的虚拟环境,就不必像之前需要先进如虚拟环境的目录下安装(确保 virtualenv 已经安装了)

    pip3 install virtualenvwrapper

    2.2 修改默认的环境目录:

    cat ~/.bashrc

    .bashrc

    User specific aliases and functions

    alias rm='rm -i'
    alias cp='cp -i'
    alias mv='mv -i'

    Source global definitions

    if [ -f /etc/bashrc ]; then
    . /etc/bashrc
    fi
    #指定解释器
    export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3.6
    #这个可以自定义 虚拟环境存放目录
    export WORKON_HOME=~/.virtualenv
    #项目存放目录,需要自己创建
    export PROJECT_HOME=~/.virtualenv/project_data
    #自动加载virtualenvmrapper
    source /usr/local/bin/virtualenvwrapper.sh

    2.3 创建存放虚拟环境的目录
    mkdir ~/.virtualenv

    此目录应该和上面的 WORKON_HOME 变量的值相同

    2.4 初始化一下

    source ~/.bashrc

    2.5 基本使用: 创建一个虚拟环境:

    mkvirtualenv test

    2.6 退出虚拟环境:
    deactivate
    [root@redis ld.so.conf.d]# workon test
    (test) [root@redis test]# deactivate

    2.7 进入虚拟环境:
    [root@redis ld.so.conf.d]# workon
    python3
    test
    [root@redis ld.so.conf.d]# workon test
    (test) [root@redis test]#

    2.8 创建项目:
    (test) [root@redis test]# mkproject test1
    Using base prefix '/usr/local'
    New python executable in /root/.virtualenv/test1/bin/python3.6
    Also creating executable in /root/.virtualenv/test1/bin/python
    Installing setuptools, pip, wheel...
    done.
    virtualenvwrapper.user_scripts creating /root/.virtualenv/test1/bin/predeactivate
    virtualenvwrapper.user_scripts creating /root/.virtualenv/test1/bin/postdeactivate
    virtualenvwrapper.user_scripts creating /root/.virtualenv/test1/bin/preactivate
    virtualenvwrapper.user_scripts creating /root/.virtualenv/test1/bin/postactivate
    virtualenvwrapper.user_scripts creating /root/.virtualenv/test1/bin/get_env_details
    Creating /root/.virtualenv/project_data/test1
    Setting project for test1 to /root/.virtualenv/project_data/test1
    (test1) [root@redis test1]# ls
    (test1) [root@redis test1]# ls /root/.virtualenv/project_data/
    test test1

    2.9 列出可用的运行环境:
    (test1) [root@redis test1]# lsvirtualenv
    python3

    test1

    test

    2.10列出当前环境安装的包:
    lssitepackages:
    (test1) [root@redis test1]# lssitepackages
    easy_install.py pip-19.0.3.dist-info pycache setuptools-40.8.0.dist-info wheel-0.33.1.dist-info
    pip pkg_resources setuptools wheel

    2.11 创建临时运行环境:
    mktmpenv
    [root@redis test1]# mktmpenv
    Using base prefix '/usr/local'
    New python executable in /root/.virtualenv/tmp-4aa130f4957b04a/bin/python3.6
    Also creating executable in /root/.virtualenv/tmp-4aa130f4957b04a/bin/python
    Installing setuptools, pip, wheel...
    done.
    virtualenvwrapper.user_scripts creating /root/.virtualenv/tmp-4aa130f4957b04a/bin/predeactivate
    virtualenvwrapper.user_scripts creating /root/.virtualenv/tmp-4aa130f4957b04a/bin/postdeactivate
    virtualenvwrapper.user_scripts creating /root/.virtualenv/tmp-4aa130f4957b04a/bin/preactivate
    virtualenvwrapper.user_scripts creating /root/.virtualenv/tmp-4aa130f4957b04a/bin/postactivate
    virtualenvwrapper.user_scripts creating /root/.virtualenv/tmp-4aa130f4957b04a/bin/get_env_details
    This is a temporary environment. It will be deleted when you run 'deactivate'.

    2.12 临时环境退出即删除:
    (tmp-4aa130f4957b04a) [root@redis tmp-4aa130f4957b04a]# deactivate
    Removing temporary environment: tmp-4aa130f4957b04a
    Removing tmp-4aa130f4957b04a...

    2.13 删除虚拟环境:
    rmvirtualenv
    [root@redis .virtualenv]# workon
    python3
    test1
    test
    [root@redis .virtualenv]# rmvirtualenv python3
    Removing python3...
    [root@redis .virtualenv]# workon
    test1
    test

    2.14 在虚拟环境安装包
    所有的虚拟环境都在 ~/.virtualenv/project_data下,都是独立的,互不影响,在虚拟环境中安装包,使用pip即可,无需root权限
    [root@redis .virtualenv]# workon test
    (test) [root@redis test]# pip install selenium
    Collecting selenium
    Downloading https://files.pythonhosted.org/packages/80/d6/4294f0b4bce4de0abf13e17190289f9d0613b0a44e5dd6a7f5ca98459853/selenium-3.141.0-py2.py3-none-any.whl (904kB)
    100% |████████████████████████████████| 911kB 15kB/s
    Collecting urllib3 (from selenium)
    Downloading https://files.pythonhosted.org/packages/62/00/ee1d7de624db8ba7090d1226aebefab96a2c71cd5cfa7629d6ad3f61b79e/urllib3-1.24.1-py2.py3-none-any.whl (118kB)
    100% |████████████████████████████████| 122kB 11kB/s
    Installing collected packages: urllib3, selenium
    Successfully installed selenium-3.141.0 urllib3-1.24.1

    (test) [root@redis test]# pip list
    Package Version


    pip 19.0.3
    selenium 3.141.0
    setuptools 40.8.0
    urllib3 1.24.1
    wheel 0.33.1
    (test) [root@redis test]# deactivate

    切换到env_python3.6查看《没有selenium包》:
    [root@redis test]# workon test1
    (test1) [root@redis test1]# pip list
    Package Version


    pip 19.0.3
    setuptools 40.8.0
    wheel 0.33.1

关键字