CENTOS 6.X 系列預設安裝的 Python 2.6 ,目前開發中主要是使用 Python 2.7 ,這兩個版本之間還是有不少差異的,程式在 Python 2.6 下經常會出問題。
比如: re.sub
函式 ,2.7 支援 flags
引數,而 2.6 卻不支援。
所以,打算安裝 Python 2.7 來執行 Flask 應用程式,但 2.6 不能刪除,因為系統對它有依賴。
1、安裝 sqlite-devel
因為 Flask 應用程式可能使用能 Sqlite 資料庫,所以這個得裝上(之前因為沒裝這個,導致 Python 無法匯入 sqlite3 庫。
當然,也可以從原始碼編譯安裝。
yum install sqlite-devel -y
2、安裝 Python 2.7
wget https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz
tar xf Python-2.7.8.tgz
cd Python-2.7.8
./configure --prefix=/usr/local
make && make install
安裝成功之後,你可以在 /usr/local/bin/python2.7
找到 Python 2.7。
3、安裝 setuptools + pip
這裡需要注意,一定要使用 python2.7 來執行相關命令。
# First get the setup script for Setuptools:
wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py
# Then install it for Python 2.7 :
python2.7 ez_setup.py
# Now install pip using the newly installed setuptools:
easy_install-2.7 pip
# With pip installed you can now do things like this:
pip2.7 install [packagename]
pip2.7 install --upgrade [packagename]
pip2.7 uninstall [packagename]
4、使用 virtualenv
# Install virtualenv for Python 2.7 and create a sandbox called my27project:
pip2.7 install virtualenv
virtualenv-2.7 my27project
# Check the system Python interpreter version:
python --version
# This will show Python 2.6.6
# Activate the my27project sandbox and check the version of the default Python interpreter in it:
source my27project/bin/activate
python --version
# This will show Python 2.7.X
deactivate
基本就是這些了,網上很多教程都說要做軟連結,但我感覺那樣做或多或少會對系統有一些未知的影響。這個方法能儘量保持系統的完整性,很多自帶 Python 程式其實在頭部都指定了 #!/usr/bin/python
,所以它們用的其實是 Python 2.6 ,而不是新安裝的 Python 2.7 。
原文:http://digwtx.duapp.com/54.html
參考: http://toomuchdata.com/2014/02/16/how-to-install-python-on-centos/