Windows下多版本Python共存

当机器上同时装有 Python2.7 和Python 3.x 两个版本,会导致在Shell中执行 Python 命令时冲突,比如我们先安装的Python2.7,

在Path中也默认加入了Python2.7/ 路径的索引,当我们想要执行Python3.X的Python命令时系统会默认去找Python2.7/目录下的Python指令去执行,

这个就是问题的关键,随之而来的还有pip命令等 。

解决方式有两种:

1.根据不同版本分别将Python指令改名。

将 Python2.7 /python.exe 和 将 Python2.7 /pythonw.exe 改为

Python2.7 /python2.exe 和 将 Python2.7 /pythonw2.exe


将Python3.x /python.exe 和 将 Python3.x /pythonw.exe改为

Python3.x /python3.exe 和 将 Python3.x /pythonw3.exe


同时将两个版本路径配置到环境变量中


然后在Shell中分别使用不同指令版本来执行



对于pip指令我们通常的使用方式是


pip install 模块名称
然而我们添加了两个版本Pyhtonx/Script/ 这两个目录下都有pip指令,这又会产生冲突。所以要像下面这样使用

python2 -m pip install 模块名称
python3 -m pip install 模块名称

查看pip版本:


python2 -m pip -V
python3 -m pip -V


2.借助其他发行版Python管理包如 Anaconda

anaconda是一个用于科学计算的Python发行版,支持 Linux, Mac, Windows系统,提供了包管理与环境管理的功能,可以很方便地解决多版本python并存、切换以及各种第三方包安装问题。Anaconda利用工具/命令conda来进行package和environment的管理,并且已经包含了Python和相关的配套工具。
这里先解释下conda、anaconda这些概念的差别。conda可以理解为一个工具,也是一个可执行命令,其核心功能是包管理与环境管理。包管理与pip的使用类似,环境管理则允许用户方便地安装不同版本的python并可以快速切换。Anaconda则是一个打包的集合,里面预装好了conda、某个版本的python、众多packages、科学计算工具等等,所以也称为Python的一种发行版。其实还有Miniconda,顾名思义,它只包含最基本的内容——python与conda,以及相关的必须依赖项,对于空间要求严格的用户,Miniconda是一种选择。
conda的设计理念——conda将几乎所有的工具、第三方包都当做package对待,甚至包括python和conda自身!因此,conda打破了包管理与环境管理的约束,能非常方便地安装各种版本python、各种package并方便地切换。

它提供了两个关键功能:

  • :提供包管理,功能类似于 pip,Windows 平台安装第三方包经常失败的场景得以解决。
  • :提供虚拟环境管理,功能类似于 virtualenv,解决了多版本Python并存问题。

 下载地址:https://repo.continuum.io/archive/


下载后通过以下方式创建新环境:

# 基于 python3.6 创建一个名为test_py3 的环境
conda create --name test_py3 python=3.6 
 
# 基于 python2.7 创建一个名为test_py2 的环境
conda create --name test_py2 python=2.7
 
# 激活 test 环境
activate test_py2 # windows
source activate test_py2 # linux/mac
 
# 切换到python3
activate test_py3


激活环境时会提示下载扩展包(默认会安装以下组件包):



如果嫌Anaconda包体过大可以选用MiniConda等小包体Python发行版

它仅包含Python本身和Conda包管理器,因此体积不大。使用miniconda时上述步骤完全一致,就不赘述了。




  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值