当前位置:首页 > 其他 > centos7 升级Python3.6.x 以及用Django搭建第一个项目

宝塔服务器面板,一键全能部署及管理,送你3188元礼包,点我领取

centos7 升级Python3.6.x 以及用Django搭建第一个项目

原创 2017-12-19 其他 3152
分享给朋友:

教程之前 还是先来一句引战的话:PHP是世界上最好的语言!

好了,接下来看看最近很火的Python安装和Django搭建项目

首先 创建一个虚拟机 centos7 的环境

不建议用centos6来玩Python3.6 别问我为什么 有兴趣的话 你可以试下

图片1.jpg

因为centos7系统安装的是Minimal 所以要先更新一些前置

图片2.png

 但是当yum update的时候出现上面这个错误,这时候就要去修改下ONBOOT 改成yes 位置在

# vi /etc/sysconfig/network-scripts/ifcfg-enxxxx

 具体名可以用tab键选中

图片3.png

改成yes后重启虚拟机 登录后可以用 ping baidu.com 看看网络是否正常

Minimal 版本的 执行3个前置命令

# yum update
# yum -y groupinstall base
# yum -y install gcc gcc-c++ make automake openssl openssl-devel ncurses ncurses-devel pcre pcre-devel curl-devel lrzsz patch vixie-cron tcl dstat bison flex screen \telnet iftop bash iotop strace mtr sysstat lsof bind-utils telnet rsync libtool libtool-ltdl libtool-ltdl-devel ntp perl-libwww-perl \libpcap libpcap-devel libxml2.x86_64 libxml2-devel.x86_64 bc libpng libpng-devel libjpeg-turbo libjpeg-turbo-devel freetype freetype-devel zlib zlib-devel libmcrypt libmcrypt-devel

如果过程中出现y/d/N 的对话,直接输入y就行了。

安装可能要一些时间。

.....

安装好了的话这时候我们进入主题  先看下目前系统的python版本

图片4.png

Centos 7 默认的python版本是2.7

然后我们升级官方最新版的3.6

先去官网看下最新版本 https://www.python.org/downloads/

找到

图片6.png

我这边用的是xz版本的

把下载链接复制出来 用 wget 来下载

图片5.png

下载后 我这里是解压到/usr/local/下

# tar xvf Python-3.6.3.tar.xz -C /usr/local/

然后在解压后的3.6.3目录下编译

# ./configure
# make && make install

都好了之后呢 看看现在的python版本 还是2.7.5,别着急 这样做就行了

先使用# ls -al /usr/bin/python 查看下这个软链接指向的文件

然后将原来的python软连接重名 

# mv /usr/bin/python /usr/bin/python2.7.5

(这个名称可以自行定义)

接着

# ln -s /usr/local/bin/python3.6 /usr/bin/python

这时候再看看 python -V 的版本是不是变成最新的了

Python到这里搞定 接下来就是django了

———————————————————————————————————————————————

特别备注下  因为默认python的更改 所以yum可能会报错

# vim /etc/bin/yum

第一行的 /usr/bin/python  改成 /usr/bin/python2.7 保存即可

为了安全  可以重启linux继续下面的操作

这里就开始Django了

既然前面我们已经把python搞定了 那么我们就可以直接用 pip 命令直接安装 django了

# pip3 install Django==2.0

等待安装好之后  进入python

# python
>>>import django

如果没有报错 就说明django安装成功

然后就是创建项目了

可以在 /home 下 mkdir一个 wwwroot

然后进入 /home/wwwroot/ 执行

# django-admin startproject myapp

这样就在wwwroot下面创建了一个myapp的项目文件夹

进入myapp项目,执行

# python manage.py runserver

这时候可能会报错 比如

图片7.png

没关系  少什么装什么

直接装sqlite3

# yum install sqlite-devel

图片8.png

执行安装sqlite3 过程中如果出现上图错误 不要慌 【如果没有出现直接跳过】

#  vim  /usr/libexec/urlgrabber-ext-down

跟修改yum 一样 把第一句的 /usr/local/python 改成 /usr/local/python2.7 保存后继续执行上面的sqlite3安装

安装成功后 再次到 /usr/local/Python-3.6.3/ 下 重新编译python

# ./configure
# make && make install

OK之后 重新回到myapp的项目下 执行

# python manage.py runserver

当你看到这个界面 说明你的python 已经运行成功!!!

恭喜你!!!

图片9.png

项目到这里就搭建好了 那要怎么在浏览器上访问呢?因为linux是无视图版本的 所以我们得依靠你的电脑来访问

首先确保你现在的虚拟机环境网络是用NAT方式 然后用 ifconfig 看下你现在的局域网ip

default.png

关闭centos7的防火墙

# systemctl stop firewalld.service

因为上面我们已经运行了myapp这个项目 用Ctrl+C或者Ctrl+Z先退出 确保安全可以用lsof -i:8000命令看看8000端口进程是否被占用 如果被占用 可以kill -9 杀死

然后到myapp项目下 执行

# python manage.py runserver 0:8000

切换视线到你的电脑

在电脑上打开浏览器 输入 http://你的局域网ip:8000

比如我这边打开的是这样的

QQ截图20171220140037.png

显然这是一个错误的页面 提示大概说的是访问的IP不在授权范围 怎么办呢? 不要急 到Django创建的myapp项目下一个同名myapp目录下  打开settings.py文件

找到ALLOWED_HOSTS = [] 这一行 换成 ALLOWED_HOSTS = ['*']

p_portrait.png

保存后返回到myapp项目的目录下 继续

# python manage.py runserver 0:8000

这时候切换到你的电脑桌面浏览器上 继续访问刚才的地址 这时候的页面应该是这样的!

QQ截图20171220140716.png

至此 被列入教科书的python语言 你已经入门了!

说不定以后年纪大了还能回老家当个计算机老师 或者开个培训班?

2018年起,Python 列入全国计算机等级考试

除了中小学的变动之外,教育部考试中心于 2017 年 10 月 11 日发布全国计算机等级考试(NCRE)体系调整的通知。

0294c1b689b14c20ba9babb6256a397a.jpeg

bed0c9d4b20c4b8c877be84e100dc99d.jpeg

ec2db800ee4a41f3b416fa836af2b19b.jpeg


另外 想看更多关于运维教程的朋友们 可以到 https://my.oschina.net/longquan/

专业的运维博客,你值得拥有!

我只是业余的!

声明:版权所有,违者必究 | 如未注明,均为原创 | 本网站采用 BY-NC-SA 协议进行授权

转载:转载请注明原文链接,违者必究 - :https://wolfcode.net/info/95/

分享给朋友:

相关文章

gocron - 统一任务调度 | 定时任务系统 v2.0x版本

使用Go语言开发的轻量级定时任务集中调度和管理系统, 用于替代Linux-crontab

APP《单身话术语录》,上架iOS

在被苹果审核团队拒绝了N次后,终于成功上架!

宝塔WebHook中自动git拉取没有反应解决方法

最近遇到一个比较奇怪的问题,所有操作都完成后,无论怎么测试,git pull一直都不会执行,也没有报错.

推荐一款出色的SSH工具

​Tabby是一款可无限定制的跨平台终端应用,用于本地shell、串行、SSH和Telnet连接。支持SFTP。

强烈推荐:一个快速处理json的第三方包

该第三方包采用go语言开发:先来看看官方的案例:package main import "github.com/tidwall/sjson" const json = `{"name":{&quot

为集群搭建一个定时任务集中调度系统

集群任务下,很多服务器的定时任务都单独集中在相对应的服务器crontab下,即使现在有了类似于宝塔之类的面板,但是定时任务还是得每台服务器单独登入后去配置。是否可以单独在一台机子上,控制所有的集群定时任务呢?答案是肯定的!!!gocron就可以做到,之前博主分享过单机搭建定时任务管理系统,那现在,我

Linux 日志清理

磁盘占用90%,占用过多,分析日志查看原因

Nginx 自动生成日志备份

Nginx网站访问日志数据会随着访问量的增加而日益庞大,以下介绍一个简单的脚本,自动切割备份过往日期日志数据

3月18日,多年的老站终于破了1.5W的PV

从最早的建站初心是为了自己方便,从fivefilm.com到30942.com,有网友说域名不好记,索性注册了看个蛋(kangedan.com)的域名。6年多的时间(我也是随性等得起)0推广,纯自然流量!今天看了下PV记录,有点被吓到!特别纪念一下,之前都是几千IP,封顶也没超过1.5W。