centos平台编译环境使用如下指令
安装make:
yum -y install gcc automake autoconf libtool make
安装g++:
yum install gcc gcc-c++
Python
CentOS 7.2 默认安装了python2.7.5 因为一些命令要用它比如yum 它使用的是python2.7.5。
使用 python -V 命令查看一下是否安装Python
然后使用命令 which python 查看一下Python可执行文件的位置
可见执行文件在/usr/bin/ 目录下,切换到该目录下执行 ll python* 命令查看
python 指向的是python2.7
2.开始编译安装python3
先安装相关包
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make
不能忽略相关包,我之前就没有安装readline-devel导致执行python模式无法使用键盘的上下左右键;
3.7版本需要一个新的包libffi-devel,安装此包之后再次进行编译安装即可。
yum install libffi-devel -y
因为我们要安装python3版本,所以python要指向python3才行,目前还没有安装python3,先备份
mv /usr/bin/python /usr/bin/python.bak
因为执行yum需要python2版本,所以我们还要修改yum的配置,执行:
vi /usr/bin/yum
同理 vi /usr/libexec/urlgrabber-ext-down 文件里面的#! /usr/bin/python 也要修改为#! /usr/bin/python2
python安装
下面是把 python 安装到 /usr/local/lnmp/python374/ 目录下的详细步骤:
cd /usr/local/src/lnmp/wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz
tar -zxvf Python-3.7.4.tgz
cd Python-3.7.4./configure --prefix=/usr/local/lnmp/python374
make
make install
查看是否安装成功
[root@localhost Python-3.7.4]# /usr/local/lnmp/python374/bin/python3 -V
Python3.7.4
对于centos7系统里面本来存在python命令,是yum需要的2.7.5的版本,这里不能进行删除或者覆盖,不然yum就用不起了。
[root@localhost Python-3.7.4]# which python/usr/bin/python
解决方案:
安装完毕,/usr/local/lnmp/python374/bin/目录下就会有python3了,因此我们可以添加软链到执行目录下/usr/bin
ln -s /usr/local/lnmp/python374/bin/python3 /usr/bin/python
测试安装成功了没,执行
python -V 看看输出的是不是python3的版本
执行python2 -V 看到的就是python2的版本
建立pip3的软链接
ln -s /usr/local/lnmp/python374/bin/pip3 /usr/bin/pip3
升级pip3命令:
pip3 install --upgrade pip
给python3安装django和uwsgi以及配置启动项目的ini(或者xml)文件
pip3 install django 或者 pip3 install django==2.2.5
pip3 install uwsgi
建立软连接
ln -s /usr/local/lnmp/python374/bin/django-admin/usr/bin/django-admin
ln-s /usr/local/lnmp/python374/bin/uwsgi /usr/bin/uwsgi
如果下面这行命令输出了一个版本号,证明你已经安装了此版本的 Django;如果你得到的是一个“No module named django”的错误提示,则表明你还未安装。
python -m django --version
创建一个Django项目,打开命令行,cd 到一个你想放置你代码的目录,然后运行以下命令:
django-admin startproject mysite
这里我在根目录新建了 web 目录(mkdir -p /home/webcode/django),然后 cd /home/webcode/django,执行 django-admin startproject testweb,发现生成了testweb 。
[root@localhost django]# django-admin startproject testweb
[root@localhost django]# ls
testweb
测试运行:
python manage.py runserver
或者
python manage.py runserver8080或者
python manage.py runserver0:8080python manage.py runserver0.0.0.0:8080
发现出现异常错误:
exception:django.core.exceptions.ImproperlyConfigured: SQLite 3.8.3 or later is required (found 3.7.17).
翻译下就是当前sqlite3的版本是3.7.17,但是需要sqlite3.8.3以后的版本才可以启动。如果不需要使用sqlite可以忽略,比如我直接使用mysql。
将配置使用mysql数据库:
DATABASES ={'default': {'ENGINE': 'django.db.backends.mysql','NAME': 'xx','USER': 'x','PASSWORD': 'xxx','HOST': 'xxx','PORT': 'xx'}
}
发现出现异常错误:
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module.
Did you install mysqlclient?
那么可以查询当前安装哪些模块?
[root@localhost testweb]# python
Python3.7.4 (default, Oct 24 2019, 20:27:49)
[GCC4.8.5 20150623 (Red Hat