一.编译安装python3

https://www.cnblogs.com/pyyu/p/9015317.html

1.下载python3的源码

cd /opt

yum install wget -y 安装wget命令

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

注意:

1.安装python3之前,环境依赖解决
通过yum安装工具包,自动处理依赖关系,每个软件包通过空格分割
提前安装好这些软件包,日后就不会出现很多坑 得保证这些依赖工具包,正确安装

先下载依赖包

yum install gcc patch libffi-devel python-devel  zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel -y

2.解压缩源码包

下载好python3源码包之后
    Python-3.6.2.tgz
    解压缩、
    tar命令可以解压缩 tgz格式
    tar -xvf  Python-3.6.2.tgz

3.切换源码包目录

cd Python-3.6.2

4.编译且安装

1.释放编译文件makefile,这makefile就是用来编译且安装的
        ./configure --prefix=/opt/python36/
            --prefix  指定软件的安装路径
    2.  开始编译python3
        make
    3.编译且安装  (只有在这一步,才会生成/opt/python36)
        make install
    4.配置python3.6的环境变量
        1.配置软连接(注意,这个和PATH配置,二选一)
            ln -s 目标文件  软连接文件
            ln -s  /opt/python36/bin/python3.6    /usr/bin/python3
            此时还没有pip
            ln -s  /opt/python36/bin/pip3   /usr/bin/pip3

或       2.配置path环境变量 (二选一即可)
             echo $PATH查看环境变量
               /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
              #这个变量赋值操作,只是临时生效,需要写入到文件,永久生效,需要进入环境变量在后面添加

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/opt/python36/bin

#linux有一个全局个人配置文件
        编辑这个文件,在最底行写入PATH
        vim /etc/profile  #进入profile文件写入
        写入

读一下这个/etc/profile 使得生效 #读取文件才生效
        source /etc/profile

5.测试linux安装一个django,
        pip3 install django

6.创建django项目
        django-admin startproject mysite
7.创建django的APP应用
        django-admin startapp   app01

8.编写视图函数,测试一个index视图
    
9.注意修改settings.py的allow_hosts,windows方可访问linux的django项目

10.最后执行命令

python manage.py runserver 0.0.0.0:8000

启动

yum工具

yum install nginx -y

如果你用yum命令,提示yum进程被锁定,无法使用

解决办法:

ps -ef|grep yum 进程,这是说 有另一个进程也在用yum yum只能有一个进程使用

吞吐量

django 600

flask 1000+

tornado 异步非阻塞的框架 1800+

sanic 2800+ uvloop事件驱动 用在游戏接口领域

go

net/http web服务器 6W+

python的虚拟环境 virtualenv

1.需求在linux服务器上,既可以有django2.0环境,也能运行django1.11.11环境 思路: 1.django2.0想要运行,我们得准备python解释器+pip3软件包管理 2.还想运行django1.11.11 python解释器+pip3

  • 在编译安装一个python3.6???????

    • pip3安装的模块,都放在/opt/python36/lib/python3.6/site-packages

virtualenv 就是一个虚拟解释器 就是基于物理环境下的python解释器,虚拟/分身 出的 多个解释器

venv1 django2.0

venv2 django1.1

venv3 flask

venv4 requestsscrapy

安装virtualevn  #作用,在一台虚拟机上创建出许多个版本环境目录

1.下载virtualenv工具

通过物理环境的pip工具安装

pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenv

安装完成后你的linux就多了一个virtualenv命令

2.创建虚拟环境venv1 venv2

virtualenv --no-site-packages --python=python3 s15venv1

调用虚拟环境的命令

--no-site-packages 这是构建干净,隔离的模块的参数

--python=python3 这个参数是指定虚拟环境以哪一个物理解释器为基础的

最后一个是虚拟环境的名字 会创建这么一个文件夹

3.进入虚拟环境目录,激活虚拟环境

找到你的虚拟环境目录bin地下的activate文件

source myenv/s15venv1/bin/activate

- 激活虚拟环境,原理就是修改了PATH变量,path是有顺序执行的

echo $PATH 检查环境变量

which python3

which pip3 检查虚拟环境是否正常

4.测试安装2个虚拟环境,venv1,venv2,并且运行2个django不同版本的项目

5.退出虚拟换的命令 deactivate

保证本地开发环境和线上一致性的操作

解决方案:

1.通过命令保证环境的一致性,导出当前的环境中所有的包,及各个版本的简单列表,

可以使用 “pip list”在不产生requirements文件的情况下, 查看已安装包的列表。

2.上传至服务器后,在服务器下创建virtualenv,在venv中导入项目所需的模块依赖

pip3 install -r requirements.txt

虚拟环境管理工具virtualenvwrapper

#作用:由于virtualenv创建的虚拟环境目录容易忘记,就引入virtualenvwrapper

1.安装这个命令,必须得在物理解释器地下,注意!! pip3 install virtualenvwrapper

注意这里path的配置,需要将物理解释器的python,放在path最前面

echo $PATH 这里保持配置和我一样,将python3放在最前面

[root@localhost ~]# echo $PATH /opt/python36/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin

2.修改环境变量,每次开机就加载这个virtualenvwrapper工具

vim ~/.bashrc   #vim编辑用户家目录下的.bashrc文件,这个文件是用户在登录的时候,就读取这个文件
#export 是读取shell命令的作用
#这些变量根据你自己的绝对路径环境修改
export WORKON_HOME=~/Envs #设置virtualenv的统一管理目录
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages' #添加virtualenvwrapper的参数,生成干净隔绝的环境
export VIRTUALENVWRAPPER_PYTHON=/opt/python347/bin/python3 #指定python解释器
source /opt/python34/bin/virtualenvwrapper.sh #执行virtualenvwrapper安装脚本

3.重新登录会话,使得这个配置生效

4.此时正确的话 virtualenvwrapper工具已经可以使用

提供了哪些命令?

mkvirtualenv 虚拟环境名 #自动下载虚拟环境,且激活虚拟环境

workon 虚拟环境名 #激活虚拟环境

deactivate 退出虚拟环境

rmvirtualenv 删除虚拟环境

cdvirtualenv 进入当前已激活的虚拟环境所在的目录

cdsitepackages 进入当前激活的虚拟环境的,python包的目录

linux(05) 编译安装py3的更多相关文章

  1. Linux下编译安装qemu和libvirt

    目录 [hide] 1 安装qemu 1.1 qemu介绍 1.2 下载源文件 1.3 编译安装 2 安装libvirt 2.1 libvirt介绍 2.2 下载libvirt 2.3 编译安装 3  ...

  2. Linux下编译安装qemu和libvirt【转】

    转自:http://www.cnblogs.com/findumars/p/5679742.html 目录 [hide] 1 安装qemu 1.1 qemu介绍 1.2 下载源文件 1.3 编译安装 ...

  3. LINUX下编译安装PHP各种报错大集合

    本文为大家整理汇总了一些linux下编译安装php各种报错大集合 ,感兴趣的同学参考下. nginx1.6.2-mysql5.5.32二进制,php安装报错解决: 123456 [root@clien ...

  4. linux下编译安装vim7.4并安装clang_complete插件

    linux下编译安装vim7.4并安装clang_complete插件 因为debian里软件仓库中下载安装的vim是不支持python写的插件的(可以打开vim,在命令模式先输入:py测试一下),导 ...

  5. linux PHP 编译安装参数详解

    linux PHP 编译安装参数详解 ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc -- ...

  6. linux下编译安装curl

    linux下编译安装curl 1.下载curl git clone https://github.com/curl/curl.git 2.在curl目录下生成configure文件 ./buldcon ...

  7. linux下编译安装boost库

    linux下编译安装boost库 linux下编译安装boost库 1.下载并解压boost 1.58 源代码 下载 解压 2.运行bootstrap.sh 3.使用b2进行构建 构建成功的提示 4. ...

  8. Linux下编译安装Apache Http Server

    Linux下编译安装Apache Http Server [TOC] 1.下载httpd-2.4.12.tar.bz2 wget http://mirror.bit.edu.cn/apache/htt ...

  9. linux下编译安装nginx

    1.首先下载稳定版nginx1.10.2 使用wget命令下载 wget http://nginx.org/download/nginx-1.10.2.tar.gz 2.然后解压 tar -zxvf  ...

随机推荐

  1. 多线程时,请求执行不是按顺序的,可添加Critical Section Controller(临界部分控制器),执行顺序是固定的,但执行一段时间后,该逻辑器下的请求不再循环,无解ing

  2. WinCC中通过脚本禁用或启用Windows快捷键

    有些项目要求WinCC全屏运行,并禁止通过操作系统快捷键切换到桌面,这时只需要在WinCC的计算机属性中勾选“禁用用于进行操作系统访问的快捷键”.此后当WinCC运行时,按Win键或Ctrl+Alt+ ...

  3. 从项目中理解let和const为什么如此重要

    变量声明 变量声明方式 伴随js诞生的var // 语法 var varName = value var a = 1 // 这样子你就得到了一个变量 var缺陷场景分析 var specialUser ...

  4. 【新特性速递】单元格导航(上下左右键,TAB键和ENTER键)

    上下左右按键 其实单元格导航(上下左右按键,需要启用表格的ShowSelectedCell属性)一直都存在,只不过之前的版本(v5.5.0)有一些小的BUG. BUG1 比如锁定列存在时,上下左右键只 ...

  5. 软件工程实践2019——idea表述及组队

    时间:2019-10-08 随堂 欢迎每个有想法的同学都积极参与idea表述,用心呈现你的心中所想.你心中热爱的,希望在软工实践项目中完成的项目作品.每个愿意表达idea的同学,都有一分钟时间来呈现作 ...

  6. JVM-基本操作

    1.我们为什么要对jvm做优化?在本地开发环境中我们很少会遇到需要对jvm进行优化的需求,但是到了生产环境,我们可能将有下面的需求: 运行的应用“卡住了”,日志不输出,程序没有反应服务器的CPU负载突 ...

  7. java程序 cpu占用过高分析

    linux终端下用 top命令看到cpu占用超过100%.之所以超过100%.说明cpu是多核.默认top显示的是cpu加起来的使用率,运行top后按大键盘1看看,可以显示每个cpu的使用率,top里 ...

  8. python合并视频

    视频合并 输入为:包含有视频的文件夹(注意路径:如   D:\\moves\\joy   双斜杠).合并后内容的名字如(我的合并视频      不用加.mp4) 输出为:我的合并视频.mp4+一个音频 ...

  9. vue自定义事件---拖拽

    margin布局拖拽 Vue.directive('drag', { bind(el, binding, vnode, oldVnode) { const dialogHeaderEl = el.qu ...

  10. 【前端知识体系-JS相关】深入理解JavaScript异步和单线程

    1. 为什么JavaScript是单线程? JavaScript语言的一大特点就是单线程,也就是说,同一个时间只能做一件事.那么,为什么JavaScript不能有多个线程呢?这样能提高效率啊. Jav ...