首頁 > 軟體

Python從2.4平滑升級2.7

2020-06-16 17:37:27

伺服器預設設定安裝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.tar.bz2
# ./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
1234 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

本文永久更新連結地址http://www.linuxidc.com/Linux/2016-07/133459.htm


IT145.com E-mail:sddin#qq.com