Python从2.6平滑升级2.7
阿里云的默认配置是给服务器安装python 2.6.6版本,这个版本有点蛋疼,就是它已经不支持Django1.7。如果在2.6.6下默认安装Django的话,会安装上1.7版本,然后在启动的时候,就会显示如下的错误:
>>> import django
Traceback (most recent call last):
File "", line 1, in
File "/usr/lib/python2.6/site-packages/django/__init__.py", line 1, in
from django.utils.version import get_version
File "/usr/lib/python2.6/site-packages/django/utils/version.py", line 7, in
from django.utils.lru_cache import lru_cache
File "/usr/lib/python2.6/site-packages/django/utils/lru_cache.py", line 28
fasttypes = {int, str, frozenset, type(None)},
^
SyntaxError: invalid syntax
所以需要把机器内原来的python2.6升级成2.7,但是要注意,linux默认的yum路径是用原装的python,如果不注意这一点的话,就会出现python是2.7但是yum报错的现象,那就悲剧了。
于是我们按照步骤一步一步来:
1)下载2.7.8版本的python,很多人会说python3是未来的趋势,为啥不直接下python3,因为广大服务器安装都是2.x,用3的话,步子迈得有点大,会扯到蛋。
# wget http://python.org/ftp/python/2.7.8/Python-2.7.8.tgz
2)编译 and 安装
# tar -zxvf Python-2.7.8.tgz
# cd Python-2.7.8
# ./configure --prefix=/usr/local/python27
# make && make install
3) 把原来2.6的python进行重命名,这一步是为了yum
# mv /usr/bin/python /usr/bin/python_old
4)把2.7的python添加到linux的“快捷方式”
# ln -s /usr/local/python27/bin/python /usr/bin/
5)这个时间检查一下python
Python 2.7.8 (default, Jul 16 2016, 10:38:06)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-17)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
6)把原来的yum的配置文件更改一下
# vim /usr/bin/yum
之后把第一行由#!/usr/bin/python 改成 #!/usr/bin/python2.6,然后保存退出。
7)这个时候检查一下yum,看一下是否正常。
安装Django的过程
个人比较推荐pip方法安装Django,简单粗暴易懂。
#yum install python-pip
#pip install --upgrade pip (这个是升级pip的命令)
#pip install Django
安装完毕之后,启动python,然后查看一下是否安装成功。
[root@chen-cs-001 pip-1.2.1]# python
Python 2.7.8 (default, Jul 16 2016, 10:38:06)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-17)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
>>> django.VERSION
(1, 9, 7, 'final', 0)
>>> django.get_version()
'1.9.7'
>>> print (django.__path__)
['/usr/local/python27/lib/python2.7/site-packages/django']
安装成功~OK!路径如上面所示~
问题解决
Q:当import django的时候出现下面的提示:importError: No module named utils.version
A:可以先卸载了重新安装pip uninstall Django 然后, pip install Django 注意D大写,也可以试试 pip uninstall django 低版本的用的是 django这个名称。
Q:系统自带python2.7,替换默认为python3,安装django后不能在python3中导入,2.7中可以导入,求解如何在3中导入
A:
#apt-get install python3-pip #(注意是python3 !)
然后
#pip3 install Django --user
Q:
SyntaxError: invalid syntax
>>> django-admin startproject mysite
File "", line 1
django-admin startproject mysite
A:需要把 Python目录下的 Scripts 也加入到环境变量目录
Q:pip install Django提示ImportError: No module named pip
A:
#wget https://pypi.python.org/packages/source/p/pip/pip-1.2.1.tar.gz #tar xzf pip-1.2.1.tar.gz #cd pip-1.2.1/ #python setup.py install
Q:启动pip安装的时候,提示ImportError: No module named pkg_resources
A:
wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz tar zxvf setuptools-0.6c11.tar.gz cd setuptools-0.6c11 python setup.py build python setup.py install
转载于:https://blog.51cto.com/chenx1242/1826939