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
转载于:https://blog.51cto.com/13362895/2157421