环境:
CentOS release 6.7 (Final)
请通篇看完以后再操作安装,因为可能会因为后面的异常导致重新安装,不确定后面的异常是否必然,因为没有更改文章顺序。 坑总是要被填平,或他或己。
安装配置
1. Python安装配置
yum -y install readline-devel
避免虚拟环境下方向键乱码,在编译安装python前,安装readline-devel。
参见:Python Shell 中敲击方向键显示「CD」,原因是什么?如何修复?
1) 编译环境准备
yum groupinstall 'Development Tools'
yum install zlib-devel bzip2-devel openssl-devel ncurese-devel
如果使用sqlite,需要提前安装libsqlite3-dev libsqlite3。
sudo yum install libsqlite3-dev libsqlite3
2) 下载python3.4.3代码包
wget https://www.python.org/ftp/python/3.4.3/Python-3.4.3.tar.xz
3) 编译
tar Jxvf Python-3.4.3.tar.xz
cd Python-3.4.3
./configure --prefix=/usr/local/python3
make && make install
4) 更换系统默认 Python 版本
备份旧版本 Python,笔者环境默认版本2.6
mv /usr/bin/python /usr/bin/python2.6
新建指向新版本 Python 以及 pip 的软连接
ln -s /usr/local/python3/bin/python3.4 /usr/bin/python
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip
检验 Python 及 pip 版本
python -V
pip -V
5) 更新 yum 相关设置
因 yum 的功能依赖 Python2 更改默认 Python版本后会导致 yum无法正常工作,
使用vi编辑:
vi /usr/bin/yum
打开文件后,修改第一行为:
#!/usr/bin/python2.7
若执行 yum 时出现以下错误: ** 该问题暂未遇到 **
File "/usr/libexec/urlgrabber-ext-down", line 28
执行以下更改,打开该文件并修改首行为:
#!/usr/bin/python2.7
执行 yum 时,若出现以下 Error: ** 该问题亦未遇到 **
Error: Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
执行以下安装可解决:
yum install deltarpm
6) 设置环境变量
不设置Python环境变量会出现很多意想不到的问题,如使用虚拟环境时会提示 virtualenv : command not found
。
echo 'export PATH=$PATH:/usr/local/python3/bin' >> ~/.bashrc
2. virtualenv安装配置
virtualenv可实现多套Python环境共存,不同项目可以使用不同版本,独立不混淆。
#安装virtualenv
pip install virtualenv
#在当前文件夹下构建虚拟环境
virtualenv -p /usr/local/python3/bin/python3 venv
#启动虚拟环境
source venv/bin/activate
#退出虚拟环境
deactivate
3. Django安装配置
pip install django
4. 异常处理
参见:runserver时 No module named '******'
python manage.py runserver
时如果提示:
ImportError: No module named '_tkinter'```,表示python中没有包含`tkinter`模块,需要安装tkinter依赖后**重新编译安装python**。
######1) 安装python34-tkinter:
`yum install -y epel-release
yum install -y python34-tkinter`
######2) 重新编译安装python
`python manage.py runserver`,应用正常启动。
也可以进入Python shell下,`import tkinter` 看是否可以被引用。
参考:[Install tkinter on centos 6.5 with python 3.5](https://stackoverflow.com/questions/42342492/install-tkinter-on-centos-6-5-with-python-3-5)
---
参考:
[CentOS 7 安装 Python3.5](http://www.jianshu.com/p/8bd6e0695d7f)
[Install Django](https://www.server-world.info/en/note?os=CentOS_7&p=django)
[Python Shell 中敲击方向键显示「^C^D」,原因是什么?如何修复?](https://www.zhihu.com/question/21518507)
[Django - No module named _sqlite3](https://stackoverflow.com/questions/10784132/django-no-module-named-sqlite3)