【Linux】Linux服务器安装python3.7

Linux服务器系统默认的python版本通常是python2,如果需要使用最新的python3那么我们可以编译安装源码包到独立目录,这和系统默认环境之间是没有任何影响的,python3和python2两个环境并存。

  • Python官网下载python,下载之后的安装包“Python-3.7.3.tgz”保存到了本地的电脑上,需要scp的服务器的指定路径下。也可以使用wget命令直接在服务器上获取。
wget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tgz
  • 解压安装包
tar -xvzf Python-3.7.3.tgz
  • 为pythoh3指定一个目录
mkdir /usr/local/python3
  • 配置编译
./configure --prefix=/usr/local/python3 --with-openssl=/usr/local/openssl  # --with-ssl最好配置上,否则在使用pip的时候可能会报TLS/SSL不可用的error,这里对ssl的版本也有要求,低版本的ssl会配置失败

在编译的过程中,指定了安装路径,指定了安装路径有利于后期对python3的使用与管理。

  • 对源代码进行编译,生成可执行文件
make
  • 安装
make install

果断报错:ModuleNotFoundError: No module named '_ctypes'

解决方法,安装需要的依赖

yum install libffi-devel

命令安装成功后,重新执行4、5、6步对应的3个命令。如果没有其他error抛出的话,到这里python3已经安装成功了,但是还需要进行一些配置才能够使用。

  • 创建python3的软连接
mv /usr/bin/python /usr/bin/python_bak
ln -s /usr/local/python3/bin/python3 /usr/bin/python
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
  • 执行检查

  • python2与python3版本切换

系统在很多时候仍然需要使用python2,比如yum命令,这时候就需要切换回python2版本。想要为某个特定用户修改python版本,只需要在其home目录下创建一个alias(别名)即可。然后打开该用户的 ~/.bashrc 文件,添加新的别名信息来修改默认使用的 python版本。 

vi ~/.bashrc

# 切换python2
alias python='/usr/bin/python2.7'

# 切换python3
alias python='/usr/bin/python'  # 这里不需要添加python3的版本号,因为/usr/bin/python已经是python3了

完成上面的操作后,需要重新加载 .bashrc 文件,使操作生效。

$ . ~/.bashrc

再次检查默认的python版本,切换成功。


安装Python3.7遇到的坑

  • pip install 找不到ssl

出现这个问题的原因是Python3.7需要更高级的ssl版本,需要升级ssl,研究了半天如何升级ssl最终还是没有成功。。。

考虑到python2和python3同时拥有pip,可以使用如下方法临时运行pip  install:

python2 -m pip install XXX
python3 -m pip install XXX

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章