编译安装python

1.下载python3的原码包

1.1下载到到opt目录中
cd /opt
1.2下载python3的原码包
wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz
1.3在安装python3之前,解决环境依赖(下载了各种各样的工具包),避免以后踩坑
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
注:如果用yum命令,提示yum进程被锁定,无法使用,说明有另一个进程也在用yum,yum只能有一个进程使用,解决办法:ps -ef|grep yum

2.解压缩源码包

下载好python3源码包之后,在/opt目录下会有Python-3.6.2.tgz,解压缩tgz格式的压缩包用tar命令
tar -xvf Python-3.6.2.tgz

3.切换源码包目录

cd Python-3.6.2

4.编译且安装

4.1.释放编译文件makefile,这makefile就是用来编译且安装的
./configure --prefix=/opt/python36/
注:--prefix 指定软件的安装路径
4.2.开始编译python3
make
4.3.编译且安装 (只有在这一步,才会生成/opt/python36)
make install
4.4.配置python3.6的环境变量
4.4.1.配置软连接(二选一即可)
4.4.2.配置path环境变量 (二选一即可)
4.4.2.1.echo $PATH查看环境变量
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
4.4.2.2.#这个变量赋值操作,只是临时生效,需要写入到文件,永久生效
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/opt/python36/bin
#linux有一个全局个人配置文件
编辑这个文件,在最底行写入PATH,使其永久生效
4.4.2.3.vim /etc/profile
写入
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/opt/python36/bin
保存退出
4.4.2.4.读一下这个/etc/profile 使得生效
source /etc/profile

测试部分

5.测试linux安装一个django

pip3 install django
也可以用豆瓣源下载
pip3 install -i https://pypi.douban.com/simple django

6.创建django项目

到/opt/下
cd /opt/
django-admin startproject mysite

7.创建django的APP应用

django-admin startapp app01 

修改App中的内容,自定义函数和类

注:运行后如果出现ALLOW的错误,在settings.py中修改其为["*"]

启动Django项目
python manage.py runserver
或
python manage.py runserver 0.0.0.0:8000

确保开发环境的一致性

1.假设我们在本地开发环境,准备好了项目+依赖包环境
2.现在需要将项目上传至服务器,上线发布
3.那么就要保证服务器的python环境一致性

解决方案

导出当前python环境的包,到requirements.txt文件中
pip3 freeze > requirements.txt
注:pip list 在不产生requirements文件的情况下, 查看已安装包的列表
在另一台服务器中的venv中导入项目所需的模块依赖
pip3 install -r requirements.txt

编译安装python的更多相关文章

  1. CentOS 6.7 final编译安装Python 2.7.11

    CentOS 6.7默认的Python版本为2.6.6,现升级为Python 2.7.11 1.安装编译环境 yum groupinstall "Development tools" ...

  2. CentOS6.4 编译安装Python 3.3.2 - CRPER木木

    基础环境: CentOS6.4(预装GCC,或者联网YUM---GCC编译写进这里太臃肿,找机会另外写一篇) Python 3.3.2     下载链接: http://www.python.org/ ...

  3. 在centos上面编译安装python

    前言 因为在学习storm的过程中需要安装python,storm是部署在linux上面的,所以需要将python安装在linux上面. 安装准备 python下载 官网链接:https://www. ...

  4. Linux基础-编译安装Python

    终于涉及一点儿专业的了,说实话,对于目前的我难度还是挺大的,这句话送给未来的自己 挑战开始: 首先了解一下Python3.6,底层是由c++开发的,所以在linux下需要C++的支持,必然少不了gcc ...

  5. CentOS下编译安装python包管理安装工具pip教程

    ubuntu 安装pip 代码如下: apt-get install python-pip 安装requests, pip install requests 对于centos的,直接 yum inst ...

  6. centos7编译安装Python 3.6.8 后用pip3出现SSL未配置问题(import ssl失败)解决方法

    下载源码编译安装openssl https://www.openssl.org/source/openssl-1.0.2j.tar.gz ./config --prefix=/usr/local/op ...

  7. linux下编译安装python

    从官网下载指定的源码包 https://www.python.org/downloads/source/ 把源码文件以二进制方式上传到linux服务器 安装python需要用到gcc工具,首先查看gc ...

  8. python脚本练习之编译安装python

    练习 py-shelll #coding=utf-8 import os,sys if os.getuid() == 0: pass else: print('当前用户不是root,请以root用户执 ...

  9. 编译安装 python 2.7

    下载python2.7 Python-2.7.6.tgz 下载链接:http://pan.baidu.com/s/1c0AJDDI 配置./configure 编译make 安装 make insta ...

随机推荐

  1. C#性能优化:延迟初始化Lazy

    1. 概述 我们创建某一个对象需要很大的消耗,而这个对象在运行过程中又不一定用到,为了避免每次运行都创建该对象,这时候延迟初始化(也叫延迟实例化)就出场了. 延迟初始化出现于.NET 4.0,主要用于 ...

  2. Entity Framework知识小总结

    什么是Entity Framework EF是微软主推的数据存取技术,在实际开发中,现在通常使用EF来构建应用程序的数据存取层,它是一个开源的“对象/关系映射(ORM:Object Relationa ...

  3. 简单几步教你实现移动硬盘PE、装win7/vista! 一盘在手,系统无忧!

    第一步:格式化u盘成为ntfs格式.(以下同样适用于移动硬盘)提供两个方法:,方法一是格式化成fat32,再到命令提示符即俗称的dos窗口运行convert.方法二在xp下,点击u盘所在盘符,选择属性 ...

  4. jquer表单序列化加强版

    相同name值会转化为一个数组 $.fn.serializeObject = function(){ var o = {}; var a = this.serializeArray(); $.each ...

  5. springboot 配置多数据源 good

    1.首先在创建应用对象时引入autoConfig package com; import org.springframework.boot.SpringApplication; import org. ...

  6. Android TV开发中所有的遥控器按键监听及注意事项,新增home键监听

    原文:Android TV开发中所有的遥控器按键监听及注意事项,新增home键监听 简单记录下android 盒子开发遥控器的监听 ,希望能帮到新入门的朋友们 不多说,直接贴代码 public cla ...

  7. 【树转数组】poj1195

    /* 二维的树状数组: 更新某个元素时: NO.1:c[n1],c[n2],c[n3],....,c[nm]; 当中n1 = i,n(i+1) = ni+lowbit(ni); nm+lowbit(n ...

  8. python 教程 第一章、 简介

    第一章. 简介 官方介绍: Python是一种简单易学,功能强大的编程语言,它有高效率的高层数据结构,简单而有效地实现面向对象编程.Python简洁的语法和对动态输入的支持,再加上解释性语言的本质,使 ...

  9. React学习(1)——constructor

    constructor(props) { super(props); this.state = { orderNo: "001", wid: 6 }; } constructor: ...

  10. 使用Photoshop切图的三种方式

    PhotoShop切图的三种方式 1. 原始切图 (1)选择工具栏中的切片工具 (2)找到要切片的元素,在右侧的图层框中,使元素背景隐藏,然后用切片工具选择需要切片的元素     (3)导出为web常 ...