開頭
如果你看到了這篇文章,你可能已經已經翻閱了無數的centos安裝python教程,可能都沒有作用,甚至還把環境快搞報廢了,網上有的教程實在是太不負責任!
不要氣餒,在這里我把我踩的坑盡量羅列出來,爭取讓您一步到位解決centos升級python環境問題!
我的機器環境: 騰訊云,Centos6,系統自帶的是Python2.6.6,由于需要寫爬蟲,.py文件運行在2.6環境會無法連接htpps,故需要升級成2.7。
本文中參考了一些其他文章,但是網上基本重復文章很多,無法確定原作者到底是哪一篇,所以就不貼出來了,如果有侵權請告訴我。
升級Python2.7
備注:為什么說這個問題是個坑,主要是因為Centos6系統自帶的是Python2.6.6,而控制臺的python以及軟件安裝yum還有pip都默認連接到了2.6,當你裝了2.7之后并不能很好的使用它。
安裝必要的準備包
yum groupinstall "Development tools"
另外,Python安裝中需要的一些依賴包
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel
下載安裝Python2.7.11(可以去官網查更新的版本)
wget https://www.python.org/ftp/python/2.7.11/Python-2.7.11.tgz
tar vxf Python-2.7.11.tgz
cd Python-2.7.11.tgz
./configure --prefix=/usr/local
make && make install
建立軟連接,使系統默認的 python指向 python2.7
# 刪除原來的軟連接
# 注意這里2.6.6可能不存在,我的里面是python2.6 所以就要自己更改下
mv /usr/bin/python /usr/bin/python2.6.6
# 建立軟連接,總之這里的如果報錯請自己查看系統目錄里的文件名
ln -s /usr/local/bin/python2.7 /usr/bin/python
最后,檢查python版本
python
yum修復
安裝2.7之后,尤其是軟連接成功后,yum就會廢,因為yum不兼容2.7,這里就把yum關聯到2.6上,因為2.6還在。
vi /usr/bin/yum
將文件頭部的
# !/usr/bin/python
改成
# !/usr/bin/python2.6.6
# 我的又是2.6,fuck!
現在再試試yum指令,應該可以用了!
pip修復
pip依然還關聯在2.6上,要建立軟連接,不然裝的包都到了2.6上了。
先安裝setup_tool:
wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz
tar -xvf setuptools-1.4.2.tar.gz
cd setuptools-1.4.2
python2.7 setup.py install
之后安裝pip:
wget --no-check-certificate https://pypi.python.org/packages/source/p/pip/pip-6.0.7.tar.gz
tar zxvf pip-6.0.7.tar.gz
cd pip-6.0.7
python setup.py install
安裝完成之后,執行如下命令:
如果這樣安裝中間報錯:
Traceback (most recent call last):
File "/usr/bin/pip", line 5, in <module>
from pkg_resources import load_entry_point
File "build/bdist.linux-x86_64/egg/pkg_resources.py", line 2797, in <module>
File "build/bdist.linux-x86_64/egg/pkg_resources.py", line 576, in resolve
pkg_resources.DistributionNotFound: pip==7.1.0
就安裝:
easy_install pip==7.1.0
安裝Lxml
這樣都做完后,由于我要使用到lxml,結果又半天裝不上去,最后發現使用easy_install lxml,最方便了。安裝過程中間可能會有卡住,耐心等重試,會好的!
注意:若lxml安裝報錯,請嘗試:
" error: command 'gcc' failed with exit status 1 ". the installation failed because of missing python-devel and some dependencies.
the best way to correct gcc problem:
You need to reinstall gcc , gcc-c++ and dependencies.
For python 2.7
$ sudo yum -y install gcc gcc-c++ kernel-devel
$ sudo yum -y install python-devel libxslt-devel libffi-devel openssl-devel
$ pip install "your python packet"
For python 3.4
$ sudo apt-get install python3-dev
$ pip install "your python packet"
若有問題歡迎留言!