RHEL7環境下安裝python3.3
背景:rhel7.3
系統中已經安裝python2.7,現在要實現python的升級;
首先下載源tar包
http://www.python.org/ftp/python
下載完成後到下載目錄下,解壓
tar xf Python-3.3.0.tgz
進入解壓縮後的文件夾
cd Python-3.3.0
在編譯前先在/usr/local建一個文件夾python3(作爲python的安裝路徑,以免覆蓋老的版本)
mkdir /usr/local/python3
安裝依賴包
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-deve
yum -y install gcc gcc-c++
開始編譯安裝
./configure --prefix=/usr/local/python3
make
make install
此時沒有覆蓋老版本,再將原來/usr/bin/python鏈接改爲別的名字
之前python的鏈接情況如下:
鏈接到別名,不然新版本的不會生效
mv python2.7 python2.7_old
再建立新版本python的鏈接
ln -s /usr/local/python3/bin/python3 /usr/bin/python2.7
此時鏈接如下:
再去查看python信息
這種方法雖然能安裝成功,但是它帶來了新的問題,比如yum不能正常用了
修改/usr/bin/yum的第一行爲:
如下指定就好了:
如下,yum可以正常使用
安裝pip
pip是python的管理工具
官網下載:
pip-18.0
報錯沒有setuptools模塊
下載:setuptools-27.3.1.tar.gz
下載報本根據系統已由的版本去下載合適的,不然也會用不了;
tar xf setuptools-27.3.1.tar.gz
cd setuptools-27.3.1
python setup.py install
沒有報錯,如下
如下再去安裝:
[root@python ~]# cd pip-18.0/
[root@python pip-18.0]# python setup.py install
若沒有pip命令,就去添加環境變量
vim /etc/profile
source /etc/profile //使生效
pip的使用
1 2 | pip show --files SomePackage pip查看已安裝的包 |
1 2 | pip list --outdated pip檢查哪些包需要更新 |
pip install --upgrade SomePackage pip升級包
pip uninstall SomePackage pip卸載包
pip的參數可以通過獲取幫助去查看
# pip --help
Usage:
pip <command> [options]
Commands:
install 安裝包.
uninstall 卸載包.
freeze 按着一定格式輸出已安裝包列表
list 列出已安裝包.
show 顯示包詳細信息.
search 搜索包,類似yum裏的search.
wheel Build wheels from your requirements.
zip 不推薦. Zip individual packages.
unzip 不推薦. Unzip individual packages.
bundle 不推薦. Create pybundles.
help 當前幫助.
General Options:
-h, --help 顯示幫助.
-v, --verbose 更多的輸出,最多可以使用3次
-V, --version 現實版本信息然後退出.
-q, --quiet 最少的輸出.
--log-file <path> 覆蓋的方式記錄verbose錯誤日誌,默認文件:/root/.pip/pip.log
--log <path> 不覆蓋記錄verbose輸出的日誌.
--proxy <proxy> Specify a proxy in the form [user:passwd@]proxy.server:port.
--timeout <sec> 連接超時時間 (默認15秒).
--exists-action <action> Default action when a path already exists: (s)witch, (i)gnore, (w)ipe, (b)ackup.
--cert <path> 證書.
有時在安裝或者更新包的時候會發生下面的錯誤:
解決方法,設置超時時間
pip --default-timeout=100 install -U Pillow