多版本python共存时使用pip的正确做法
想学习Python3,但是暂时又离不开Python2。在Windows上如何让它们共存呢?
目前国内网站经常会让大家把其中一个python.exe改个名字(嗯,我也这样讲过,在此纠正一下),这样区分开两个可执行文件的名字,但是这样做有一个重大的隐患,就是修改了名字的那个python对应的pip将无法使用。
官方的解法是什么?
事实上这个问题几年以前Python社区就给出了官方解决方案,只不过国内一直没有注意到罢了。
我们在安装Python3(>=3.3)时,Python的安装包实际上在系统中安装了一个启动器py.exe,默认放置在文件夹C:\Windows\下面。这个启动器允许我们指定使用Python2还是Python3来运行代码(当然前提是你已经成功安装了Python2和Python3)。
如果你有一个Python文件叫 hello.py,那么你可以这样用Python2运行它
py -2 hello.py
类似的,如果你想用Python3运行它,就这样
py -3 hello.py
每次运行都要加入参数-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就可以愉快地在一起玩耍了~
以上就是多版本python共存时使用pip的正确做法的详细内容,更多关于python pip的资料请关注我们其它相关文章!
相关推荐
-
多版本python的pip 升级后, pip2 pip3 与python版本失配解决方法
mint19.2 本来pip 和 pip2 对应 python2.7 pip3对应python3.6 用源码安装了python3.7之后. 这样 版本也没问题. 但是, 用pip3.7 安装包的时候 提示 pip需要升级, 但是一旦升级, 就不对了 pip pip2 pip3 都指向了pip3.7 这导致一系列问题. 包pgadmin4 启动后报 csrf 错误 , 甚至进而导致docker-compose模式下postgres服务下线! 而且,无法用重装python-pip, p
-
Python pip install之SSL异常处理操作
异常内容: C:\Users\ccwant>pip install requests Collecting requests Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed
-
Python pip安装第三方库实现过程解析
对于Python开发用户来讲,安装第三方库是家常便饭,下面提供两种安装方式 pycharm软件安装 1.打开file>setting 2.点击+号 查询第三方库名,点击安装即可 pip安装 打开dos窗口,输入pip install 第三方库名 即可 注意:由于国外的源下载速度有时候太慢,浪费时间.而且经常出现下载后安装出错问题.所以把PIP安装源替换成国内镜像,可以大幅提升下载速度,还可以提高安装成功率. 国内源: 清华:https://pypi.tuna.tsinghua.edu.cn/si
-
python3的pip路径在哪
python3.4以上的版本中,是默认自带pip的. 查看pip的方法 下载安装好python后,进入命令行,输入pip -V,即可查看python版本号 C:\Users\Administrator>pip -V 输出结果 pip 19.2.2 from c:\anaconda\lib\site-packages\pip (python 3.7) 手动安装pip 可以使用以下方法来安装: $ curl https://bootstrap.pypa.io/get-pip.py -o get-pi
-
解决Windows下python和pip命令无法使用的问题
一. python命令找不到 安装python之后经常会出现下面的问题 , python命令找不到,这是因为Windows的环境变量中没有定义python的安装路径 这个时候我们先找到python的安装路径(或者在Python的IDE图标上点击右键 , 选择打开文件所在的位置) 右键点击地址栏 => 将地址复制为文本 => 右键此电脑(或者右键文件管理资源管理器的空白处) => 点击属性 => 在系统中选择高级系统设置 => 点击环境变量 => 在下面的系统变量框中双击
-
Python安装第三方库攻略(pip和Anaconda)
常用的python第三方库安装工具大概有三种: 1.pip (推荐) 2.easy_install 3.setup.py 常见的安装包格式: 1.whl (推荐,一种二进制的) 2.tar.gz 3.zip 4.egg(第一个主流打包格式) whl和egg文件可以直接将后缀名改为zip,作为zip解压,但在有网的模式下,whl不必解压,用pip的安装命令即可 setup.py setup.py常用于源码安装,由于pypi官网下载包非常慢,因此有人会选择下载后安装,也有人会去GitHub上下载源码
-
解决Python3.7.0 SSL低版本导致Pip无法使用问题
终于下决心把python从2.7升到了3.7.懒人安装当然使用Anaconda. 安装成功,编译成功.但是用pip 安装包的时候提示: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available. 原因是python3.7为了安全性考虑,要求使用openssl 1.0.2之后的版本.但是自带的openssl,版本是1.0.1. 解决办法: 重装一下
-
如何安装多版本python python2和python3共存以及pip共存
Python的版本是挺折腾人的,本着简单实用的原则我介绍一下我是如何安装多版本Python的. 环境:windows10(64位) Python版本:2.7.13和3.5.2 1.安装Python2.7.13 1.1 运行exe安装程序,点击"Next" 1.2 选择安装路径,这里我安装到D:\Python27 1.3 勾选"Add Python.exe to Path",将python加入系统环境变量,点击"Next" 1.4 点击"
-
多版本python共存时使用pip的正确做法
想学习Python3,但是暂时又离不开Python2.在Windows上如何让它们共存呢? 目前国内网站经常会让大家把其中一个python.exe改个名字(嗯,我也这样讲过,在此纠正一下),这样区分开两个可执行文件的名字,但是这样做有一个重大的隐患,就是修改了名字的那个python对应的pip将无法使用. 官方的解法是什么? 事实上这个问题几年以前Python社区就给出了官方解决方案,只不过国内一直没有注意到罢了. 我们在安装Python3(>=3.3)时,Python的安装包实际上在系统中安装
-
多个版本的python共存时使用pip的正确做法
想学习Python3,但是暂时又离不开Python2.在Windows上如何让它们共存呢? 目前国内网站经常会让大家把其中一个python.exe改个名字(嗯,我也这样讲过,在此纠正一下),这样区分开两个可执行文件的名字,但是这样做有一个重大的隐患,就是修改了名字的那个python对应的pip将无法使用. 官方的解法是什么? 事实上这个问题几年以前Python社区就给出了官方解决方案,只不过国内一直没有注意到罢了. 我们在安装Python3(>=3.3)时,Python的安装包实际上在系统中安装
-
详解Python遍历列表时删除元素的正确做法
一.问题描述 这是在工作中遇到的一段代码,原理大概和下面类似(判断某一个元素是否符合要求,不符合删除该元素,最后得到符合要求的列表): a = [1,2,3,4,5,6,7,8] for i in a: if i>5: pass else: a.remove(i) print(a) 运行结果: 二.问题分析 因为删除元素后,整个列表的元素会往前移动,而i却是在最初就已经确定了,是不断增大的,所以并不能得到想要的结果. 三.解决方法 1.遍历在新的列表操作,删除是在原来的列表操作 a = [1,2
-
多版本Python共存的配置方法
同一台PC中,如果同时安装Python2和Python3环境,会在执行python命令时出现错误,操作系统会找到默认的配置进行执行.怎么样才能让python2和python3一起工作又互相不影响呢. 但是由于工作需要,我们的个人PC上可能需要多个python版本共存,应该进行什么样的设置呢,本章内容就针对这个问题进行分析和使用的介绍 1.python2和python3版本共存的配置 进入python2的安装路径如下 Python2安装路径下的文件.png 修改python.exe,重命名为pyt
-
virtualenv实现多个版本Python共存
virtualenv创建一个拥有自己安装目录的环境, 这个环境不与其他虚拟环境共享库, 能够方便的管理python版本和管理python库.主要解决不同项目之间环境冲突的问题. 小技巧 某些开发包在下载的时候会出现下载错的的情况,如果配置国内镜像下载,那么出错的几率将会大大降低.使用镜像源很简单,用-i指定就行了: sudo pip install -i https://pypi.douban.com/simple/ saltTesting 例如现在需要安装django环境 virtualenv
-
pip安装Python库时遇到的问题及解决方法
笔者电脑系统是win7,同时安装了Python2.7和Python3.6,但是在通过命令行直接使用"pip install XXX"安装Python库时出现了以下的错误信息: Fatal error in launcher: Unable to create process using '"' 解决方法: 1,找到你的Python版本对应的解释器的名称 首先你需要进入安装Python相应版本所在的文件夹.以我的Python版本为例,这是我的Python2.7版本对应的解释器名
-
Python 中 Virtualenv 和 pip 的简单用法详解
本文介绍了Python 中 Virtualenv 和 pip 的简单用法详解,分享给大家,具体如下: 0X00 安装环境 我们在 Python 开发和学习过程中需要用到各种库,然后在各个不同的项目和作品里可能用的版本还不一样,正因为有这种问题的存在才催生了virtualenv的诞生.virtualenv 可以在电脑上创建一个虚拟环境,可以针对每一个项目创建一个虚拟环境,这样就不用担心各个不同的项目用不同版本的库的时候出现的冲突了. 下面的内容只适用于 Linux/OSX,未经 Windows 环
-
Anaconda多环境多版本python配置操作方法
conda测试指南 在开始这个conda测试之前,你应该已经下载并安装好了Anaconda或者Miniconda 注意:在安装之后,你应该关闭并重新打开windows命令行. 一.Conda测试过程: 使用conda.首先我们将要确认你已经安装好了conda 配置环境.下一步我们将通过创建几个环境来展示conda的环境管理功能.使你更加轻松的了解关于环境的一切.我们将学习如何确认你在哪个环境中,以及如何做复制一个环境作为备份. 测试python.然后我们将检查哪一个版本的python可以被安装,
随机推荐
- PHP第一季视频教程(李炎恢+php100 不断更新)
- JavaScript操作HTML DOM节点的基础教程
- java信号量控制线程打印顺序的示例分享
- Java执行hadoop的基本操作实例代码
- python实现从web抓取文档的方法
- js鼠标滑轮滚动事件绑定的简单实例(兼容主流浏览器)
- 让插入到 innerHTML 中的 script 跑起来的代码第1/2页
- .Net读取Excel 返回DataTable实例代码
- python批量导出导入MySQL用户的方法
- Python存取XML的常见方法实例分析
- MySql 修改密码后的错误快速解决方法
- 详解android异步更新UI的几种方法
- Bootstrap学习笔记之进度条、媒体对象实例详解
- Python使用设计模式中的责任链模式与迭代器模式的示例
- Java 中分形图的几种方法详解
- 使用jQuery的load方法设计动态加载及解决被加载页面js失效问题
- Android编程实现随机生成颜色的方法示例
- 简单实现JavaScript弹幕效果
- Android广播接收机制详细介绍(附短信接收实现)
- Java通过Fork/Join优化并行计算