首先选定平台方面的问题
linux?windows?MAC OS?
没有MAC OS,所以 只能选 linux和windows了。
linux(centos)平台下的安装
问题一:用什么方式安装的问题
无论在linux安装什么软件基本上都有三种方式:源码安装、二进制安装、yum安装。在官网上用的是编译安装的方法(https://docs.python.org/3/using/unix.html#on-linux)在docs里面的 python setup and useage里面。而且网上大部分文档也是源码安装的方式。那么我们总的来说也会用源码安装的方法。
在安装的过程中第一个问题和下面要说的第二个问题其实是同时进行处理的。是混杂在一起的。安装的过程如下:- 首先,因为后来是编译那些源码包,所以一开始要安装一些必要的开发工具(yum groupinstall ‘Development tools’ …),而且为了保证这些工具是最新的,必须一开始先更新yum的版本(yum -y update)
- 之后就是常规的安装套路
- down源码包
- 解压
- ./configure –prefix=/usr/local/python3 (注意,config的时候最好指定那个安装到一个具体的目录,虽然你不指定会安装到//usr/local下面,但是这样的话python的文件就会散落在/usr/local里面的各个目录里面,比较乱,所以哪怕不放到/usr/local里面,最好也能够放到一个单独的目录里面去,而且最好注明版本比如如果是3.5版本就安装到python3里面如果是2的版本就安装到python2里面)
- make
- make altinstall(注意一定是altinstall,否则会有一些问题的,altinstall和install之间的区别可以见参考[],总的来说就是如果想搞明白就对Makefile的脚本内容,大概的区别是install会建立软链接而altinstall里面不会建立软链接)
问题二:多版本共存的问题
由于系统自带的python版本太低,无论是安装2.7还是3.5都会遇到新安装的版本比系统自带的版本高的问题。也就是会出现新旧两个共存的问题。比如2.6和2.7同时存在。
或者2.6和3.5共存的问题。还有一种可能就是我不仅想安装一个新的版本,2.7和3.5都想安装,也就是会出现三个版本共存的问题。如何解决其实第一个问题解决好了,第二个问题自然也就行了。所以我们先考虑第一个问题。
其实这个问题有好多种方法。- 最土的一种就是:如果不嫌麻烦,每次运行python命令的时候指定二进制文件的完整全路径。
- 第二种方法:比上一种进一步的方法是,把完整路径写到path里面去。
- 第三种方法:利用alterenv,建立一个虚拟环境,也很方便。
其实还有别的方法,比如把原来指向自带二进制文件的软链接指向新的位置,不过我觉得可能这样会出一些问题。比如如果有系统里面的应用依赖于原有的python版本。如修改为指向新的位置可能会出现问题。
windows平台下的安装方法
不赘述了。
安装过程参考官网。
冲突解决的方法参考文献[2][8]
遇到的一些坑
- 关于pip的安装问题
- 在2.7.9以及3.4以后版本的python后自带pip,不用自己安装。参考文献[7]
- 我一开始安装python3.5后没有pip,可能的原因是一些开发工具没有安装全。
- wget下载的时候好慢啊,用国内的镜像吧。
- 一定要用 make altinstall
- 一定要多看几篇文章,发现版本不同,安装的方式也不同。 ·如果大多数文章都提到的部分,那基本上这部靠谱。
如果某些部分出现的频率不高,就看它对应的是比较新的版本还是比较旧的版本。如果是比较旧的版本的文章一般就不靠谱。
比如这篇文章Python 环境搭建。 一般来说对于安装的文档还是越新越好。对于原理性的介绍有效时间会长一些。
参考文档
- How To Set Up Python 2.7.6 and 3.3.3 on CentOS 6.4
- 在CentOS7上安装Python3.5.0与旧版本Python2.7.5共存
- 在CentOS上安装Python
- http://www.flyym.com/centos6-5-install-python3-5.html
- http://www.centoscn.com/image-text/install/2016/0403/6984.html
- http://toomuchdata.com/2014/02/16/how-to-install-python-on-centos/
- http://stackoverflow.com/questions/6587507/how-to-install-pip-with-python-3
- https://www.zhihu.com/question/30279880
- http://www.nowamagic.net/academy/detail/1330215
10 https://linux.cn/article-3664-1.html( #! 表示啥意思 ) - (https://linux.cn/article-5044-1.html) 这篇文章直接用了pip,因为它暗含着“pip在3.4以后自带的啦”
- (https://www.zhihu.com/question/22846291) windows下 python2和3的切换问题
- CentOS 7安装Python3.5
- 同时装了Python3和Python2,怎么用pip? python2和3的切换问题
- Windows下Python多版本共存
- Python国内镜像 从官网下python太慢了,用国内镜像吧
- CentOS 7 安装 Python3.5 基本上步骤就是这个了,但是背后我可踩了不少坑。
- make install和make altinstall 的区别的问题