CentOS下python3.4.3版本django环境配置

环境:

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

CentOS查看和修改PATH环境变量的方法

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)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容