Centos7安装python3.6与python2.7共存

说到要安装 python3.6,是因为 python2.7 的维护周期到 2020 年就结束了。所以现在越来越多的 python 从业者都开始慢慢转向 python3 了,而很可惜的是,现在许多 linux 系统还是自带的 python2.6 或者 python2.7!这里面有很大一部分原因是 yum 导致的!所以既要保持 yum 不出问题,又想使用 python3,就只能让 python3 和 python2 共存了!网上也有许多安装方法,但是或多或少有点问题。所以我总结了一下最详细的又最安全的安装方法。

1、安装 python3.6 可能使用的依赖

yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel

2、安装 python3.6

下载 python3.6 编译安装 ,到 python 官网下载https://www.python.org ,下载最新版源码,使用 make altinstall,如果使用 make install,在系统中将会有两个不同版本的 Python 在/usr/bin/目录中。这将会导致很多问题,而且不好处理。

wgethttps://www.python.org/ftp/python/3.6.6/Python-3.6.6.tgz

mkdir/usr/local/python3

tar-xzvfPython-3.6.6.tgz

cdPython-3.6.6

./configure--prefix=/usr/local/python3--enable-optimizations

make

make altinstall

以下说明 python3.6 的目录

python3.6程序的执行文件:/usr/local/python3/bin/python3.6

python3.6应用程序目录:/usr/local/python3/lib/python3.6

pip3的执行文件:/usr/local/python3/bin/pip3.6

pyenv3的执行文件:/usr/local/python3/bin/pyenv-3.6

3、更改 python 的链接

cd/usr/bin

cp python2.7{,.bak}

cp pip2.7{,.bak}

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

ln-s/usr/local/python3/bin/python3.6/usr/bin/python3

ln-s/usr/local/python3/bin/pip3.6/usr/bin/pip

4、修改 yum 等依赖 python2 的执行文件

主要有这几个文件一定要修改,其他需要用的时候在修改即可。

cd/usr/bin

yum yum-config-manager yum-debug-restore yum-groups-manager yum-builddep yum-debug-dumpyumdownloader firewall-cmd

/usr/libexec/urlgrabber-ext-down

更改以上文件头为

#!/usr/bin/python 改为 #!/usr/bin/python2

其实还有许多文件要修改,当需要用的时候在修改吧。用下面的命令可以看出许多都是依赖原先 python2 的。

cd/usr/bin

grep-ir'/usr/bin/python'*|grep-v python2.7|grep-vBinary

这里就不一一列举了!

接下来额外讲一点 python 虚拟环境的事,为啥需要 python 虚拟环境呢,因为往往因为不同开发需要不同的 python 环境或者不同的 python 依赖包环境,有的需要安装 django,有的只要 scrapy,有的只做运维用等等,这样混在一起就可能比较麻烦,尤其是同一个依赖包不同的版本的问题。为了解决这个问题,python 虚拟环境就非常的方便,可以针对的不同的需求来建立多个 python 虚拟环境,每个需求运行在单独的虚拟环境中互不干扰。好了,接下来说说怎么安装 python 虚拟环境吧。

virtualenv

virtualenv 是一个可以在同一计算机中隔离多个 python 版本的工具。

安装:

pip install virtualenv

使用方法

1. 创建环境

:这会再当前目录下创建一个新环境目录

可使用 virtualenv –help 来查看如何使用。可以使用参数 来创建一个已经安装的的 Python 环境。

2. 使用环境

切换到新环境目录

执行: 来激活环境,激活后在命令行的前面会出现新环境名称

接下来可使用 pip 命令安装新环境需要的各种包。(pip 命令在创建新环境时自带)

3. 退出虚拟环境

如果要删除虚拟环境,只需退出虚拟环境后,删除对应的虚拟环境目录即可。不影响其他环境。

4. 注意事项

如果没有启动虚拟环境,系统也安装了 pip 工具,那么套件将被安装在系统环境中,为了避免发生此事,可以在~/.bashrc 文件中加上:

或者让在执行 pip 的时候让系统自动开启虚拟环境:

virtualenvwrapper

virtualenvwrapper 是 virtualenv 的扩展管理包,用于更方便管理虚拟环境,它可以做:

将所有虚拟环境整合在一个目录下

管理(新增,删除,复制)虚拟环境

切换虚拟环境

安装

使用方法

1. 初始配置

默认 virtualenvwrapper 安装在/usr/local/bin 下面,实际上需要运行 virtualenvwrapper.sh 文件才行;所以需要先进行配置一下:

创建虚拟环境管理目录:

在~/.bash_profile 中添加行:

# load virtualenvwrapper for python (after custom PATHs)

venvwrap="virtualenvwrapper.sh"

/usr/bin/which-a $venvwrap

if[$?-eq];then

venvwrap=`/usr/bin/which $venvwrap`

source $venvwrap

fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

exportPATH

exportWORKON_HOME=/env/.virtualenvs

exportPROJECT_HOME=/env/workspace

source/usr/local/python3/bin/virtualenvwrapper.sh

exportPIP_REQUIRE_VIRTUALENV=true

启动 virtualenvwrapper:

2. 使用方法

所有的命令可使用: 进行查看,这里列出几个常用的:

创建基本环境:

删除环境:

激活环境:

退出环境:

列出所有环境: 或者

配上我的别名设置:

# virtualenv

aliasvte='virtualenv'

aliasmkvte='mkvirtualenv'

aliasdeact='deactivate'

aliasrmvte='rmvirtualenv'

所有命令都可在后面使用 参数查看具体用法!Enjoy it !

还有什么问题的就靠各位网友继续发现了。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180831G0L0LT00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券