Python从2.6平滑升级2.7
阿里云的默认配置是给服务器安装python 2.6.6版本,这个版本有点蛋疼,就是它已经不支持Django1.7。如果在2.6.6下默认安装Django的话,会安装上1.7版本,然后在启动的时候,就会显示如下的错误:
1
2
3
4
5
6
7
8
9
10
11
|
>>>
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
1
2
3
4
|
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,然后查看一下是否安装成功。
1
2
3
4
5
6
7
8
9
10
11
|
[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:
1
2
3
4
|
#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:
1
2
3
4
5
|
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
|