CentOS6.配置python3和django1.11安装
一.Python3安装
1.安装方式是源码包安装,需要用到 gcc,make
1 yum install gcc make 2 3 安装python3需要的依赖包有:openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel 4 5 yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel
2.去官网下载python3的源码包
1 #在Linux中可以使用wget命令下载 2 wget https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz
3.解压缩、编译和安装
1 tar -zxf Python-3.6.4.tgz 2 3 cd Python-3.6.4 4 5 ./configure --prefix=/opt/python3 6 7 make 8 9 make install
4.清除之前编译的可执行文件及配置文件
1 make clean
5.清除所有生成的文件
1 make distclean
6.查看安装的新版本信息
1 python3 -V
python3源码包安装之后是自带pip3的,在Python安装位置里的bin目录下,如果系统调用不了pip3就把他添加到环境变量里
举个例子:
1 我的python3是在/opt/python3/里面安装的,打印下环境变量 echo $PATH 查看有哪些目录属于环境里的目录, 2 将python3或pip3软链接到这些目录底下系统会在些命令的执行时就自动找到包所在位置(建立软连接时推荐绝对路径); 3 4 ln -s /opt/python3/bin/python3 /usr/bin/python3.6 5 源文件所在位置 软连接文件位置及名称 6 7 ln -s /opt/python3/bin/pip3 /usr/bin/pip3
添加环境变量方法2:
1 /etc/profile是任何用户登录都可以调用的环境变量,如果只对当前用户添加的话在当前用户家目录编辑隐藏文件.bash_profile追加这行命令 2 vi /etc/profile 3 #在文件末尾追加上(Linux的环境变量使用:分割的,调用变量要在变量前面加上$符): 4 export PATH=$PATH:/opt/python3/bin 5 6 #重载下该文件使添加的变量生效 7 source /etc/profile
升级pip到最新版本:
1 pip install --upgrade pip
二.安装pip & pip3
1.yum安装
CentOS默认yum源里是没有python-pip的包
使用 yum install python-pip 安装会报错提示找不到这个包,我们需要先安装扩展源EPEL。
EPEL(http://fedoraproject.org/wiki/EPEL) 是由 Fedora 社区打造,为 RHEL 及衍生发行版如 CentOS、Scientific Linux 等提供高质量软件包的项目。
1 yum -y install epel-release
安装python2的pip:
1 yum install python-pip
安装python3的pip:
1 yum install python3-pip
这里的python或者python3对应的版本取决于你本地环境变量里设置的python或python3的版本
2.python官网下载包安装
1 https://pypi.python.org/pypi/pip/9.0.1 2 3 wget https://pypi.python.org/packages/11/b6/abcb525026a4be042b486df43905d6893fb04f05aac21c32c638e939e447/pip-9.0.1.tar.gz
解压下载的包
1 tar -zxf pip-9.0.1.tar.gz
进入解压后的pip目录下,执行setup.py文件进行安装
1 cd pip-9.0.1 2 3 安装python2的pip: 4 5 python setup.py install 6 7 安装python3的pip: 8 9 python3 setup.py install
三.使用pip安装django
1 # pip3 install Django 2 或指定安装版本 3 # pip3 install Django==1.11
1.使用django创建hello项目
下面我们就来创建我们的HelloWorld项目,在你想保存项目代码的目录下执行
1 django-admin.py startproject hello
2.开启服务
1 python hello/manage.py runserver 0.0.0.0:8090
打开网页访问:127.0.0.1:8090就会看到django默认页面
It worked!
Congratulations on your first Django-powered page.
Ps:
1 报错1: 2 bash: django-admin.py:command not found 3 解决办法: 4 找到django-admin.py,一般在/usr/local/python3/目录下,找到后添加软链 5 # ln -s /usr/local/python3/bin/python-admin.py /usr/local/bin/python-admin.py 6 查看软链是否添加成功 7 # cd /usr/local/bin 8 # ls -il
1 报错2: 2 $ yum 3 File "/usr/bin/yum", line 30 4 except KeyboardInterrupt, e: 5 ^ 6 SyntaxError: invalid syntax 7 8 原因: 9 这是因为yum采用Python作为命令解释器,这可以从/usr/bin/yum文件中第一行#!/usr/bin/python发现。而python版本之间兼容性不太好,使得2.X版本与3.0版本之间存在语法不一致问题。而CentOS 5自带的yum采用的是python2.7,当系统将python升级到2.7或3.0后,出现语法解释错误。 10 11 解决办法: 12 很简单,一是升级yum,一是修改yum的解释器为旧版本python2.7(如果你没有采用覆盖升级的话)。 13 升级yum的作法就不详述了。修改yum的解释器为旧版本python2.7: 14 $ vi /usr/bin/yum 15 将第一行"#!/usr/bin/python" 改为 "#!/usr/bin/python2.7"即可。 16 # vi /usr/bin/yum 17 FROM: 18 #!/usr/bin/python 19 TO: 20 #!/usr/bin/python2.7
1 报错3: 2 File "/usr/libexec/urlgrabber-ext-down", line 28 3 except OSError, e: 4 ^ 5 SyntaxError: invalid syntax 6 7 原因: 8 同错误2原因 9 10 解决办法: 11 $ vi /usr/libexec/urlgrabber-ext-down 12 将第一行"#!/usr/bin/python" 改为 "#!/usr/bin/python2.7"即可。 13 # vi /usr/libexec/urlgrabber-ext-down 14 FROM: 15 #!/usr/bin/python 16 TO: 17 #!/usr/bin/python2.7
1 报错4:Django - No module named _sqlite3 2 解决: 3 1,首先安装 sqlite-devel 4 yum install sqlite-devel 5 2,重新编译安装Python 6 ./configure --prefix=/usr/local/python3 7 make && make install 8