编译安装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 ...
随机推荐
- STL关联式容器之map和multimap
一,map和multimap的概念 1.map和multimap的基本知识 map是标准的关联式容器,一个map是一个键值对序列,即(key,value)对.它提供基于key的快速检索能力. map中 ...
- VS2010设置VC6的字体样式及背景色、选中字高亮
习惯了VC6.0的fixedsys字体,用VS2010还真不习惯.把VS2010打造成经典的.熟悉的模样,也并非难事.网上有相应的文章,我再记录下来,主要是为了自己查找方便(刚刚重装了系统,一切从头再 ...
- Android TV开发总结(七)构建一个TV app中的剧集列表控件
原文:Android TV开发总结(七)构建一个TV app中的剧集列表控件 版权声明:我已委托"维权骑士"(rightknights.com)为我的文章进行维权行动.转载务必转载 ...
- android4.4系统解决“ERRORcouldn't find native method”方法
android4.4系统解决"ERRORcouldn't find native method"方法 今天笔者在移植一个tv模块从android4.2到android4.4系统的设 ...
- 跟我学ASP.NET MVC之九:SportsStrore产品管理
摘要: 在这篇文章中,我将继续完成SportsStore应用程序,让站点管理者可以管理产品列表.我将添加创建.修改和删除产品功能. 本篇文章将分模块的方式,逐个介绍SportsStore站点管理功能的 ...
- Lexer的设计--下(5)
一个礼拜之后我终于从成都回来了, 从今天开始更新会恢复... 一点小的改进 写lex()的时候距离我上一次写已经一个礼拜了, 所以我回顾了一下之前的代码, 发现还是有瑕疵. 比如考虑到一个较短的程序, ...
- php 获取今日、昨日、本周,上周、本月,上月,季度的起始时间戳和结束时间戳的方法
php 获取今日.昨日.上周.本月的起始时间戳和结束时间戳的方法,主要使用到了 php 的时间函数 mktime.下面首先还是直奔主题以示例说明如何使用 mktime 获取今日.昨日.上周.本月的起始 ...
- Gralde 同步失败
Gralde 同步失败 尝试了各种方法,至少我觉得常见的一些方法我都尝试了.但一直下载依赖失败 > Could not resolve all files for configuration ' ...
- Image Captioning代码复现
Image caption generation: https://github.com/eladhoffer/captionGen Simple encoder-decoder image capt ...
- axure跨inframe传递参数
在global variable添加loginuser变量 在link to and external url or file添加如下:[[Item.action]]#loginuser=[[logi ...