昨天发的教程并不完美,今天重新发一篇保证好用,药到病除!
我使用的是CentOS 6.4的系统,自带的python版本是 2.6.6的,现在Django支持2.7 -3.3版本的python,需要先升级一下才可以(不要删除系统自带的2.6的版本,因为因为linux系统有很多都依赖它)
首先把需要的系统环境软件安装一下(如果你的linux系统里没有安装这些软件,是无法编译下面的文件的)
yum groupinstall 'Development Tools' yum install gcc zlib zlib-devel bzip2-devel openssl-devel ncurses-devel #如果嫌麻烦也可以只安装下面这两个,其他的以后用到在安装也可以,不过推荐使用上面的命令 yum install -y zlib-devel.x86_64 yum install -y openssl-devel.x86_64
开始安装python 2.7.10
wget https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tar.xz #下载python3.5的源文件 xz -d Python-2.7.10.tar.xz tar –xvf Python-2.7.10.tar #解压下载的文件 cd Python-2.7.10 #进入解压后的文件目录 ./configure --prefix=/usr/local --enable-unicode=ucs4 --enable-shared LDFLAGS="-Wl,-rpath /usr/local/lib" #检查当前的环境是否满足要安装软件的依赖关系
然后修改 ./Modules/Setup
vim ./Modules/Setup
找到 #zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
这行,去掉注释(把 # 号去掉),然后 :wq保存退出
make && make install #开始安装python 2.7.10
安装后的python 2.7应该是在/usr/local/bin/python2.7 这个目录下
安装pip
昨天说安装pip之前要安装setuptools,其实并不用,安装pip会自动安装setuptools这个软件的。
首先下载 get-pip.py 文件
wget –no-check-certificate https://bootstrap.pypa.io/get-pip.py
然后使用 python2.7 安装
python2.7 get-pip.py #需要使用python2.7以上版本的才可以
安装django
有了pip,这件事变得非常简单,只需要一个命令即可。不过这里需要注意一个问题,因为给系统自带的python2.6版本安装过一个pip,刚才我们又安装这个pip相当于环境里有两个pip:
whereis pip #查看一下当前系统里有多少个 pip
会输出: pip: /usr/bin/pip /usr/bin/pip2.6 /usr/local/bin/pip2.7 /usr/local/bin/pip
这就需要使用pip2.7的版本来安装了
pip2.7 install Django #或者使用 install Django==1.8.6
好的 以上就安装完成,我们赶快来测试一下 是否了可以正常使用
进入python2.7 环境,直接在命令行里输入 python2.7 即可
>>> import django >>> django.VERSION (1, 7, 6, 'final', 0) >>> django.get_version() '1.7.6'
如果运行后看到版本号,就证明安装成功了
新建一个项目工程试试:
django-admin.py startproject zploo
成功后会在当前目录下 新建一个 “zploo”文件夹 里面就是生成的项目文件
先将一个 app试试:
python ./zploo/manage.py startapp zplooapp
这时候就会出一个错误:
django.core.exceptions.ImproperlyConfigured: Error loading either pysqlite2 or sqlite3 modules (tried in that order): No module named _sqlite3
由于本机上存在2个版本的python
(CentOS 自带了Python2.6,但是用的Django2.7要求Python版本必须是2.7,故重新安装了Python2.7。同时为了保证其他依赖python2.6的系统软件能正常使用,所以没有卸载掉之前的Python2.6)
需要安装sqlite-devel之后,重新编译安装Python即可。
yum install sqlite-devel
然后重新编译安装Python 2.7即可 参考文章开头安装python2.7的过程即可。
然后执行一下 ./manage.py 看看是否正常了
出现这个结果就证明已经全部正常了。到此大功告成
我在这里说明一下为什么要使用python 2.7版本的, 因为python 2.x 和3.x版本之间并不是完全兼容的,2.x版本的使用的人多,网上有很多现成的类库,便于开发,相对3.x版本的比较稳定。(并且即使以后转移到3.x python的语法变化并不大,可以很快的适应3.x版本)
[…] CentOS搭建Django开发环境[图文教程] […]