说明:网上这种博客也不少,我之前也是各种百度,但是多多少少有许多坑,真的是苦不堪言,如今整理下思路。
1 CentOS7 这里直接略过
2 py3的安装
2.1 下载插件
根据官网提示,在centos下安装python3版本需要提前安装如下插件:
openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel
yum -y install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel gcc-c++
2.2 下载python
切换到download目录,下载最新的3.7版本python
[root@localhost ~]# cd /root/Downloads/
[root@localhost Downloads]# wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0a1.tgz
2.3 解压安装包并迁移至/usr/local
[root@localhost Downloads]# tar -zxvf Python-3.7.0a1.tgz
[root@localhost Downloads]# mv Python-3.7.0a1 /usr/local
2.4 安装python
进入解压好的Python安装包目录
[root@localhost Downloads]# cd /usr/local/Python-3.7.0a1/
[root@localhost Python-3.7.0a1]# ./configure
[root@localhost Python-3.7.0a1]# make && make install
此时我遭遇到问题,报错:
ModuleNotFoundError: No module named '_ctypes'
经查阅资料后发现是由于3.7版本需要一个新的包libffi-devel,安装此包后再次进行编译安装即可
[root@localhost Python-3.7.0a1]# yum install libffi-devel -y
[root@localhost Python-3.7.0a1]# make install
此处重点声明,网上有部分博客的建议是将原来的py2的软连接改成py3的,这里强烈不推荐,因为centos里有部分如(yum)是需要py2去运行的。
安装完成后为了方便操作在/usr/bin路径下生成python3.7的软链接
[root@localhost Python-3.7.0a1]# ln -s /usr/local/Python-3.7.0a1/python /usr/bin/python3.7
2.5 验证
直接使用root用户执行python3.7,可查看python状态
[root@localhost Python-3.7.0a1]# python3.7 -V
Python 3.7.0a1
3 Django环境安装
3.1 安装pip
虽然系统自带py2,但是没有Pip
[root@localhost Python-3.7.0a1]# yum -y install epel-release
[root@localhost Python-3.7.0a1]# yum -y install python-pip
3.2 安装virtualenv
[root@localhost Python-3.7.0a1]# pip install virtualenv
3.3 virtualenv
首先,新建一个项目目录
[root@localhost ~]# mkdir python_pro
然后安装虚拟环境
[root@localhost ~]# cd python_pro
[root@localhost python_pro]# virutalenv -p python3.7 venv
-p 后面的参数指定了python3.7,这个值就是我们之前3.7设置的软连接的值,如果去掉这个参数,就会使用系统默认的python。最后一个参数venv是创建的这个环境的名字
启用虚拟环境
[root@localhost python_pro]# source venv/bin/activate
3.4 安装Django
(venv)[root@localhost python_pro]# pip install Django
未完待续......