• Ubuntu部署python3.7的开发和运行环境


    1 概述

    由于最近项目全部由python2.x转向 python3.x(使用 python3.7.1) ,之前的云主机的的默认python版本都面临升级,故进行了升级后将相应的步骤记录下来,作为学习笔记吧。

    服务器运行环境:

    • ubuntu 18 LTS Server(同样也适合14,16,还有MacOS)

    本安装方式具有如下特点:

    • 不影响已经有的python环境
    • 增量式安装
    • 完全隔离的沙盒环境
    • 甚至可以不需要root权限

    2 下载

    python官网下载指定平台下的python3.7.1的环境

    wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz

    例如,下载下载的文件为Python-3.7.1.tgz

    3 解压

    然后进行解压:

    tar -xvzf Python-3.7.1.tgz

    生成目录Python-3.7.1

    4 安装

    进入目录Python-3.7.1,进行配置:

    ./configure --with-ssl --prefix=/usr/local/python3

    编译和安装:

    make
    make install

    5 建立虚拟环境

    使用python开发环境的时候,一般建立在虚拟环境,这样可以形成项目运行环境的隔离,防止不同依赖的项目的干扰。

    进入到当前用户Home目录后,直接运行:

    python3 -m venv py3venv  --without-pip

    注意:pyvenv脚本在3.7.1之后的版本中逐渐废弃,鼓励使用python3 -m venv,这样可以避免搞错pyvenv所关联的版本。

    如果提示没有找到 venv 命令,则安装:
    sudo apt install python3-venv

    记得带上 --without-pip ,否则可能报错:
    Failing command: ['/root/.pyvenv/py3venv/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']

    经过上述操作,即可生成一份克隆有python3.7.1的虚拟环境,然后运行:

    source ./py3venv/bin/activate

    即可使当前终端环境变成python3.7.1的环境,看到终端前辍带有py3venv表明已经成功:

    (py3venv) webapp@iZ25torzzzzZ:~/py3venv/bin$

    然后输入命令python,就可以看到进入到python3.7.1的运行界面:

    (py3venv) webapp@iZ25torzzzzZ:~$ python
    Python 3.7.1 (default, Jun  3 2016, 19:37:46)
    [GCC 4.8.4] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>>

    6 安装pip

    建立虚拟环境后,下一步就是为虚拟环境安装第三方库管理工具pip

    py3venv虚拟环境下面执行:

    curl https://bootstrap.pypa.io/get-pip.py|python

    然后就可以在此环境下使用pip来进行管理python的第三方库了。

    但是由于官方库经常国内不能正常访问, 可以修改其为国内镜像。

    linux下,修改 ~/.pip/pip.conf (没有就创建一个), 修改 index-url,内容如下:

    [global]
    index-url = https://pypi.tuna.tsinghua.edu.cn/simple

      

    7 常见问题-HTTPS错误提示

    有时候需要升级pip时,执行:

    pip install --upgrade pip

    出现HTTPS的错误提示:

    pip raises ImportError: cannot import name HTTPSHandler

    则需要安装 libssl-dev :

    sudo apt-get install libssl-dev

    然后再重新编译和安装python3.7.1:

    make
    make install

    7 后记补充

    Ubuntu18之后,建议用apt方式直接安装。

    MacOS则直接建议brew+pyenv的方式安装。

    全自动化的,省事。

    转自:https://www.cnblogs.com/beer/p/5557497.html

  • 相关阅读:
    mysql 账户管理
    关于数据库设计的思考(三)
    学习 ThinkPHP 框架笔记
    学习 Ext Js 所感
    mysql 一个较特殊的问题:You can't specify target table 'wms_cabinet_form' for update in FROM clause
    关于数据库设计的思考(二)
    flash、flex 项目开发学习时的笔记
    web.config 中SessionState的配置
    公农历转换
    使用Microsoft Web Application Stress Tool对web进行压力测试
  • 原文地址:https://www.cnblogs.com/zhaochenguang/p/10796909.html
Copyright © 2020-2023  润新知