centos7.2默认已经安装了python2.7.5,因此要安装python3.6的话,得从python官网上下载相应版本的安装包

查看python2.7

1、下载:wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz

2、解压:tar -xvJf  Python-3.6.2.tar.xz     或者 xz -d Python-3.6.2.tar.xz 解压成 Python-3.6.2.tar

tar  xvf Python-3.6.2.tar

3、进入解压目录编译安装

./configure prefix=/usr/local/python
make
make install

4、软连接

ln -s /usr/local/python/bin/python3 /usr/bin/python

会提示报错

因为已经默认指向了python2,所以把原来的python备份

在 /usr/bin下

mv python python.bak

5、软连接建立完成后

python -V

python2 -V

但是进入python3 后,发现退格键,上下键无法使用

是缺少一些依赖包导致。因此要安装一些依赖包。

使用yum安装,因为yum用到的还是python2

所以需要修改yum的文件,改为python2

继续报错

根据错误提示,修改 /usr/libexec/urlgrabber-ext-down 文件也改成python2

再次执行

yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make

清空yum 缓存

yum clean all

yum makecache

然后重新yum,此时yum成功完成

再运行python

可以发现退格,上下键还不能使用

单独安装readline

pip install readline

结果发现pip没有安装,需到官网下载pip安装包

wget https://pypi.python.org/packages/11/b6/abcb525026a4be042b486df43905d6893fb04f05aac21c32c638e939e447/pip-9.0.1.tar.gz#md5=35f01da33009719497f01a4ba69d63c9

下载好后,提示

下载setuptools

wget https://pypi.python.org/packages/3e/ec/9fec74fc9e96dca889df66833fc2b5eb0a158d3d6a71b9ad016dfd2a301f/setuptools-19.6.2.tar.gz#md5=ec3c428f0b81f75c8b9d19e9815da5d9

进入setptools的解压目录

python setup.py install

结果又报错

发现应该是python3执行的时候报错

改用python2 setup.py install解决

至于安装pip报错的缘故也是python3 不兼容导致。

用python2执行后,pip也安装成功

执行pip install readline
结果还是报错
 
至于出现这个错误需安装 python-devel这个模块
 
yum install python-devel 
安装好后,再执行pip install readline 提示成功

同时考虑重新编译安装python3.6.2

编译构成报错

于是改用安装最新的setuptools,支持python3.6.2的安装包,同时pip也用最新的包
 
结果还是提示上面的报错。这时候,下载zlib的最新安装包
wget http://zlib.net/zlib-1.2.11.tar.gz
编译安装zlib
./configure
make & make install
 
然后再次重新编译安装 python3.6.2
此次编译安装再没有出错
同时也提示pip9.0和setuptools安装成功
 
 
特地去pip和setuptools的安装目录下执行了 python setup,py install 提示都成功了
再到python的交互模式下,按上下键,退格键也不会再出现乱码。
至此python3和python2都可以正常使用。终于把环境搭建成功

最新文章

  1. Logstash学习-Hello World
  2. 在Spring下集成ActiveMQ
  3. jmf找不到摄像头设备解决办法
  4. python mysql 简单总结(MySQLdb模块 需另外下载)
  5. Java [Leetcode 283]Move Zeroes
  6. TUXEDO管理命令总结
  7. 这才是正确删除 office 的方式
  8. CSSc常用样式
  9. Selenium_WebDriver_控制浏览器
  10. 结合jenkins在Linux服务器搭建测试环境
  11. SynchronizedMap和ConcurrentHashMap的深入分析
  12. Javascript初识之数据类型
  13. jedis & common pool
  14. 修改hostname
  15. 一条命令停止所有lxc容器,删除所有lxc容器
  16. PAT 1066 图像过滤
  17. css之3D变换
  18. MVC应用积累
  19. 《Linux命令行与Shell脚本编程大全第2版》读书笔记
  20. ansible来了

热门文章

  1. java 爬虫
  2. php ActiveMQ的发送消息,与处理消息
  3. mui 注意事项
  4. 当前上下文中不存在viewbag
  5. vue2.0插件
  6. vue 获取组件 和 dom 对象 ref/el
  7. python 之 基础
  8. make V=1 查看完整的gcc编译信息
  9. Docker原生网络技术简介
  10. http协议(四)http常用状态码