编译安装python
编译安装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的更多相关文章
- CentOS 6.7 final编译安装Python 2.7.11
CentOS 6.7默认的Python版本为2.6.6,现升级为Python 2.7.11 1.安装编译环境 yum groupinstall "Development tools" ...
- CentOS6.4 编译安装Python 3.3.2 - CRPER木木
基础环境: CentOS6.4(预装GCC,或者联网YUM---GCC编译写进这里太臃肿,找机会另外写一篇) Python 3.3.2 下载链接: http://www.python.org/ ...
- 在centos上面编译安装python
前言 因为在学习storm的过程中需要安装python,storm是部署在linux上面的,所以需要将python安装在linux上面. 安装准备 python下载 官网链接:https://www. ...
- Linux基础-编译安装Python
终于涉及一点儿专业的了,说实话,对于目前的我难度还是挺大的,这句话送给未来的自己 挑战开始: 首先了解一下Python3.6,底层是由c++开发的,所以在linux下需要C++的支持,必然少不了gcc ...
- CentOS下编译安装python包管理安装工具pip教程
ubuntu 安装pip 代码如下: apt-get install python-pip 安装requests, pip install requests 对于centos的,直接 yum inst ...
- 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 ...
- linux下编译安装python
从官网下载指定的源码包 https://www.python.org/downloads/source/ 把源码文件以二进制方式上传到linux服务器 安装python需要用到gcc工具,首先查看gc ...
- python脚本练习之编译安装python
练习 py-shelll #coding=utf-8 import os,sys if os.getuid() == 0: pass else: print('当前用户不是root,请以root用户执 ...
- 编译安装 python 2.7
下载python2.7 Python-2.7.6.tgz 下载链接:http://pan.baidu.com/s/1c0AJDDI 配置./configure 编译make 安装 make insta ...
随机推荐
- Android中的后台邮件发送
一.调用邮件发送工具类进行邮件发送 new Thread(){ public void run() { try { GMailSender sender = new GMailSender( &quo ...
- javascript中间AJAX
兼容访问XMLHttpRequest物: var xhr = null; if(window.XMLHttpRequest){ //非IE浏览器 xhr = window.XMLHttpRequest ...
- EditText 详细信息(监听事件时,输入改变、透明背景、提示改变文字颜色、密文输入)
1.对EditText输入监视.给EditText 捆绑 addTextChangedListener 监控事件 能够. 2.EditText输入内容.密文显示: android:password=& ...
- Android笔记--自定义控件仿遥控器的圆形上下左右OK圆盘按钮
原文:Android笔记--自定义控件仿遥控器的圆形上下左右OK圆盘按钮 上面就是几张预览图!代码在最底下 主要就两个步骤,画图.监听点击 1.整个控件基本上是一步步画出来的,重写onDraw方法开始 ...
- python 教程 第十七章、 网络编程
第十七章. 网络编程 1) FTP客户端 import ftplib import os import socket HOST = '127.0.0.1' DIRN = 'menus' FILE ...
- Android - 小的特点 - 使用最新版本ShareSDK手册分享(分享自己定义的接口)
前太实用Share SDK很快分享,但官员demo快捷共享接口已被设置死,该公司的产品还设计了自己的份额接口,这需要我手动共享. 读了一堆公文,最终写出来,行,废话,进入主题. 之前没实用过Share ...
- 极简代码(八)—— binary activation function
二值化的激活函数: x > 1 ? 1 : -1; ⇒ [1, -1]; x = 0 ⇒ -1; 当然也可以使用sign() 函数(求符号函数): sign(x) % 但要注意的是,sign(0 ...
- OpenStack Summit Paris 会议记录 - 11-05-2014
Ops/Design Summit - 2014-11-05 Record 1. Keystone Operators, Deployers, and DevOps 1. Icehouse中,SAML ...
- U3D游戏开发商思考
代码驱动带来的技术题 游戏碎片化.U3D 引擎有个非常有力的特色,就是实时编译执行.这意味着不管在不论什么时候,仅仅要按下执行图标,当前的场景就会进入可执行状态. 这导致了游戏在开发的过程中常常陷入一 ...
- linux没有 conio.h解决的方式
conio.h不是C标准库中的头文件,在ISO和POSIX标准中均未定义. conio是Console Input/Output(控制台输入输出)的简写,当中定义了通过控制台进行数据输入和数据输出的函 ...