同时装了Python3和Python2,怎么用pip?

作者:匿名用户
链接:https://www.zhihu.com/question/21653286/answer/95532074
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

想学习Python3,但是暂时又离不开Python2。在Windows上如何让它们共存呢?

目前国内网站经常会让大家把其中一个python.exe改个名字(嗯,我也这样讲过,在此纠正一下),这样区分开两个可执行文件的名字,但是这样做有一个重大的隐患,就是修改了名字的那个python对应的pip将无法使用。

官方的解法是什么?

事实上这个问题几年以前Python社区就给出了官方解决方案,只不过国内一直没有注意到罢了。

我们在安装Python3(>=3.3)时,Python的安装包实际上在系统中安装了一个启动器py.exe,默认放置在文件夹C:\Windows\下面。这个启动器允许我们指定使用Python2还是Python3来运行代码(当然前提是你已经成功安装了Python2和Python3)。

有关Python2和3的安装,可以参见Python部落(http://python.freelycode.com)-->影音学堂-->《0基础1小时,Python入门》的第一节。

如果你有一个Python文件叫 hello.py,那么你可以这样用Python2运行它

py -2 hello.py

类似的,如果你想用Python3运行它,就这样

py -3 hello.py

去掉参数 -2/-3

每次运行都要加入参数-2/-3还是比较麻烦,所以py.exe这个启动器允许你在代码中加入说明,表明这个文件应该是由python2解释运行,还是由python3解释运行。说明的方法是在代码文件的最开始加入一行

#! python2

或者

#! python3

分别表示该代码文件使用Python2或者Python3解释运行。这样,运行的时候你的命令就可以简化为

py hello.py

使用pip

当Python2和Python3同时存在于windows上时,它们对应的pip都叫pip.exe,所以不能够直接使用 pip install 命令来安装软件包。而是要使用启动器py.exe来指定pip的版本。命令如下:

py -2 -m pip install XXXX

-2 还是表示使用 Python2,-m pip 表示运行 pip 模块,也就是运行pip命令了。如果是为Python3安装软件,那么命令类似的变成

py -3 -m pip install XXXX

#! python2 和 # coding: utf-8 哪个写在前面?

对于Python2用户还有另外一个困惑,Python2要在代码文件顶部增加一行说明,才能够在代码中使用中文。如果指明使用的Python版本也需要在文件顶部增加一行,那哪一行应该放在第一行呢?

#! python2 需要放在第一行,编码说明可以放在第二行。所以文件开头应该类似于:

#! python2
# coding: utf-8

有了这些技巧,Python2和Python3就可以愉快地在一起玩耍了~

时间: 2024-07-31 05:42:12

同时装了Python3和Python2,怎么用pip?的相关文章

同时装了Python3和Python2,怎么用pip

作者:匿名用户链接:https://www.zhihu.com/question/21653286/answer/95532074来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 转帖-[官解]Windows上Python2和3如何兼容 想学习Python3,但是暂时又离不开Python2.在Windows上如何让它们共存呢? 目前国内网站经常会让大家把其中一个python.exe改个名字(嗯,我也这样讲过,在此纠正一下),这样区分开两个可执行文件的名字,但是这样做

windows下同时装了Python3和Python2,如何区分使用?

1.前言 想学习Python3,但是暂时又离不开Python2.在Windows上如何让它们共存呢? 目前国内网站经常会让大家把其中一个python.exe改个名字,这样区分开两个可执行文件的名字,但是这样做有一个重大的隐患,就是修改了名字的那个python对应的pip将无法使用. 事实上这个问题几年以前Python社区就给出了官方解决方案,只不过国内一直没有注意到罢了. 2.运行代码 我们在安装Python3(>=3.3)时,Python的安装包实际上在系统中安装了一个启动器py.exe,默认

python3 与 python2 的多版本共存(Linux)

python3已经出来有些许时候了,python3相比python2进行了大量的改进,包括语法,新的功能,还有优化.虽然很多库已经同时支持 python2和python3了,但是有些库仍然没有很好的支持python3,因此有时我们还是需要使用python2. 博主是在去年开始学python的,作为没有历史包袱的初学者,当时自然而然的选则了python3来进行学习,但是在安装了新的python3后,新安装的python3不可避免的与系统自带的python2产生了一些冲突.包括不同版本的调用,不同版

Win10下python3和python2同时安装并解决pip共存问题

特别说明,本文是在Windows64位系统下进行的,32位系统请下载相应版本的安装包,安装方法类似. 使用python开发,环境有Python2和 python3 两种,有时候需要两种环境切换使用,下面提供详细教程一份. 1.下载python3和python2 进入python官网,链接https://www.python.org/ 选择Downloads--->Windows,点击进入就可以看到寻找想要的python版本 本文选择的是: Python3.5.2,点击后面链接可直接下载,http

一、Windows10下python3和python2同时安装

python2.exe.python3.exe和pip2.pip3设置 说明:安装安装python3和python2请参考本系列教程(一) 1.添加python2到系统环境变量 打开,控制面板\系统和安全\系统,选择高级系统设置,环境变量,选择Path,点击编辑,新建,分别添加D:\Python\python27和D:\Python\python27\Scripts到环境变量. 注意:python3安装时可以选择自动添加到系统环境变量,如未选择,方法和python2添加过程相同. 2.修改pyt

Windows7 下python3和python2同时 安装python3和python2

1.下载python3和python2 进入python官网,链接https://www.python.org/ 选择Downloads--->Windows,点击进入就可以看到寻找想要的python版本 本文选择的是: Python3.5.2,点击后面链接可直接下载,https://www.python.org/ftp/python/3.5.2/python-3.5.2rc1-amd64.exe Python2.7.9, 点击后面链接可直接下载,https://www.python.org/f

python3与python2编码导致 hmac.new/base64.b64encode('value') python3各种报错

python3编码的请查看这篇文章:https://www.cnblogs.com/575dsj/p/7112767.html 第一次:python3传的是bytes不能是str.好吧,认了.我就传bytes吧 b= hmac.new('/admindevice/GetCameraSetting','adbaskjclas',sha1).hexdigest()print(b) ------------------------------------------------------------

CentOS7下安装Python3和Python2并存

(一)简述刚安装的centos7.4版本默认是安装Python2.7,由于一些命令需要使用的原因,比如yum等,使用的是2.7.5版本的,由于现在很多库包括django都是使用Python3,因此,有这样的需求:yum使用python2.7版本,django和其他的使用默认的python3版本. (二)查看并备份python2相关信息1,使用python -V 可以查看默认的版本信息. [[email protected] ~]# python -V Python 2.7.5 2,然后使用whi

解决python3与python2的pip命令冲突问题冲突(window版)

解决方法再上一篇有大概讲解: 这里做一些补充: 上一篇说过,删除python3和python2中的python.exe文件后关闭dos窗口,重新打开dos,就可以进行安装, 还有一种就是 如果python2下载requests包 Python2 -m pip install requests 这样通过Python2这个标识表明我们需要在python2中用pip安装requests包 Python3也是相同方式 Python3 -m pip install requests 注意事项:用pytho