编译安装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. 【24.63%】【codefroces 686D】Kay and Snowflake

    time limit per test 3 seconds memory limit per test 256 megabytes input standard input output standa ...

  2. axios 提交 application/x-www-form-urlencoded

    最近工作比较忙 , 喜欢上了用有道云做笔记 , 写博客就是为了记录自己的学习的点点滴滴 , 如果能对其他人有帮助当然最好了 , 我一定要将这个习惯进行下去 .. ..... 我们以前的前后交互方式一般 ...

  3. IT 达人

    1. 手机与电脑多屏互动 [教程]华为多屏互动功能与PC win7的连接 要求手机和电脑必须在同一局域网内,且手机必须支持多屏互动功能. 操作步骤如下: PC 端: services.msc,启动下面 ...

  4. 保存画面为图片 当前MFC保存该程序为图片 c++ vc

    将屏幕保存为图片.使用vs2008编译通过. [cpp] view plaincopy #include "stdafx.h" #include <windows.h> ...

  5. JS 实现Map

    function Map() { this.arr = new Array(); var struct = function(key, value) { this.key = key; this.va ...

  6. xmarin live player 连接 IOS以及安卓实现实时效果查看

    原文:xmarin live player 连接 IOS以及安卓实现实时效果查看 在之前有介绍过xamarin 单独IOS项目开发的运行环境搭建,但是这段时间我看到了xmarin forms 3.0  ...

  7. 解决MacOS下readlink: illegal option -- f

    时间: 2017.03.21 分类: [操作系统] 评论 Mac下的readlink没有-f参数,诸如screenfetch又会去调用readlink -f,于是每次都会出现: readlink: i ...

  8. WPF DataGrid 触发器

    <DataGrid.RowHeaderStyle> <Style TargetType="DataGridRowHeader"> <Style.Tri ...

  9. Template简介

    分类   ControlTemplate ItemsPanelTemplate DataTemplate 样式Style和模板Template对比 Style:样式,风格Template:模版,某种控 ...

  10. Java Socket 爬虫

    # 地址 https://github.com/mofadeyunduo/crawler # 前言 1.代码不断优化更新. 2.有建议请留言. # 介绍 1.多线程,基于 ExcutorServcie ...