首頁 > 軟體

CentOS x86 64bit 升級Python2.6到2.7

2020-06-16 18:09:21

由於專案使用Django1.7.1,It works with Python 2.7,3.2, 3.3, or 3.4,而我的CentOS x86 64bit系統自帶的Python版本是2.6.6,故需要升級為Python2.7版本。

升級工作是參照網上的3篇文章完成,只是需要注意3點:

(1)因為系統現有的某些軟體是依賴python2.6.6的,所以不能解除安裝現有版本之後重新安裝python2.7,否則直接升級到python2.7之後可能會導致yum等不能使用。

參見文章:http://www.linuxidc.com/Linux/2015-02/112926.htm,完成python2.6.6升級為Python2.7.3。

(2)為了避免進入python直譯器環境時方向鍵亂碼的問題,最好在升級之前確認是否安裝了readline-devel模組。

參見文章:http://www.linuxidc.com/Linux/2015-02/112891.htm,完成readline-devel模組的安裝。

(3)完成升級之後,進入python直譯器中執行import django時,會報錯:ImportError: No module named django。

參見文章:http://stackoverflow.com/questions/9462212/import-error-no-module-named-django,設定環境變數:PYTHONPATH即可解決。

附:如果使用pip安裝的Django,可以執行如下命令檢視當前Django的安裝目錄:

pip show Django

(4)另外,在升級完成之後又遇到的了新的問題。執行:”django-admin.py startproject ttt“時報錯:

Traceback (most recent call last):
  File "/usr/bin/django-admin.py", line 5, in <module>
    management.execute_from_command_line()
  File "/usr/lib/python2.6/site-packages/django/core/management/__init__.py", line 385, in

execute_from_command_line
    utility.execute()
  File "/usr/lib/python2.6/site-packages/django/core/management/__init__.py", line 354, in

execute
    django.setup()
  File "/usr/lib/python2.6/site-packages/django/__init__.py", line 18, in setup
    from django.utils.log import configure_logging
  File "/usr/lib/python2.6/site-packages/django/utils/log.py", line 13, in <module>
    from django.views.debug import ExceptionReporter, get_exception_reporter_filter
  File "/usr/lib/python2.6/site-packages/django/views/debug.py", line 10, in <module>
    from django.http import (HttpResponse, HttpResponseServerError,
  File "/usr/lib/python2.6/site-packages/django/http/__init__.py", line 2, in <module>
    from django.http.request import (HttpRequest, QueryDict,
  File "/usr/lib/python2.6/site-packages/django/http/request.py", line 12, in <module>
    from django.core import signing
  File "/usr/lib/python2.6/site-packages/django/core/signing.py", line 41, in <module>
    import zlib
ImportError: No module named zlib

是因為缺少zlib-devel包,解決方法如下:

安裝zlib-devel包
shell>sudo yum install zlib-devel

重新編譯安裝Python
shell>./configure --with-zlib
shell>make
shell>sudo make install

在安裝MySQLdb模組時,總是報錯,後來在檔案setup.cfg中看到一句話:

build-requires = python-devel mysql-devel zlib-devel openssl-devel

果斷先安裝需要依賴的軟體包:

yum install python-devel mysql-devel zlib-devel openssl-devel

OK! 問題解決。

--------------------------------------分割線 --------------------------------------

CentOS上原始碼安裝Python3.4  http://www.linuxidc.com/Linux/2015-01/111870.htm

《Python核心程式設計 第二版》.(Wesley J. Chun ).[高清PDF中文版] http://www.linuxidc.com/Linux/2013-06/85425.htm

《Python開發技術詳解》.( 周偉,宗傑).[高清PDF掃描版+隨書視訊+程式碼] http://www.linuxidc.com/Linux/2013-11/92693.htm

Python指令碼獲取Linux系統資訊 http://www.linuxidc.com/Linux/2013-08/88531.htm

Ubuntu下用Python搭建桌面演算法交易研究環境 http://www.linuxidc.com/Linux/2013-11/92534.htm

Python 語言的發展簡史 http://www.linuxidc.com/Linux/2014-09/107206.htm


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