热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

解决mac中pip3对应python2(pip指向问题)

文章目录解决mac中pip3对应python2(pip指向问题)一、问题二、解决三、效果解决mac中pip3对应python2(pip指向


文章目录

  • 解决mac中pip3对应python2(pip指向问题)
  • 一、问题
  • 二、解决
  • 三、效果


解决mac中pip3对应python2(pip指向问题)

同理可以解决pip对应Python3的问题。




一、问题

在mac中查看pip和pip3的版本,其中pip3对应的Python版本是2.7

image-20201221215802703

正常情况下应该是:pip对应Python2,pip3对应Python3。


二、解决

使用which可以查看指令pip的绝对路径。

~ » which pip
/usr/local/bin/pip

在mac中使用easy_install安装pip会导致pip和pip3都变成pip

~ » sudo easy_install pip littlechieh6@bogon
Password:
Searching for pip
Best match: pip 20.2b1
Processing pip-20.2b1-py2.7.egg
pip 20.2b1 is already the active version in easy-install.pth
Installing pip script to /usr/local/bin
Installing pip3.8 script to /usr/local/bin
Installing pip3 script to /usr/local/binUsing /Library/Python/2.7/site-packages/pip-20.2b1-py2.7.egg
Processing dependencies for pip
Finished processing dependencies for pip
-------------------------------------------------------------
~ » pip3 --version littlechieh6@bogon
pip 20.2b1 from /Library/Python/2.7/site-packages/pip-20.2b1-py2.7.egg/pip (python 2.7)
-------------------------------------------------------------
~ » pip --version littlechieh6@bogon
pip 20.2b1 from /Library/Python/2.7/site-packages/pip-20.2b1-py2.7.egg/pip (python 2.7)

或者使用bootstrap.pypa.io网站的get-pip.py脚本安装pip3,会导致pip和pip3都变成pip3

~/Desktop » curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py% Total % Received % Xferd Average Speed Time Time Time CurrentDload Upload Total Spent Left Speed0 0 0 0 0 0 0 0 --:--:-- --:--: 1 1842k 1 20565 0 0 43294 0 0:00:43 --:--: 50 1842k 50 935k 0 0 626k 0 0:00:02 0:00:100 1842k 100 1842k 0 0 848k 0 0:00:02 0:00:02 --:--:-- 848k
-------------------------------------------------------------
~/Desktop » sudo python3 get-pip.py
-------------------------------------------------------------
~/Desktop » pip --version littlechieh6@bogon
pip 20.3.3 from /Library/Python/3.8/site-packages/pip (python 3.8)
-------------------------------------------------------------
~/Desktop » pip3 --version littlechieh6@bogon
pip 20.3.3 from /Library/Python/3.8/site-packages/pip (python 3.8)

查看Python2和Python3的执行位置

~ » which python3 littlechieh6@bogon
/usr/bin/python3
-------------------------------------------------------------
~ » which python littlechieh6@bogon
/usr/bin/python
-------------------------------------------------------------
~ » ls -al /usr/bin/python3 littlechieh6@bogon
-rwxr-xr-x 1 root wheel 31488 Sep 22 08:29 /usr/bin/python3
-------------------------------------------------------------
~ » ls -al /usr/bin/python littlechieh6@bogon
lrwxr-xr-x 1 root wheel 75 Jul 1 08:44 /usr/bin/python -> ../../System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7

查看pip的执行位置

~ » which pip littlechieh6@bogon
/usr/local/bin/pip
-------------------------------------------------------------
~ » which pip3 littlechieh6@bogon
/usr/local/bin/pip3
-------------------------------------------------------------
~ » ls -al /usr/local/bin/pip littlechieh6@bogon
-rwxr-xr-x 1 root admin 263 Dec 21 22:56 /usr/local/bin/pip
-------------------------------------------------------------
~ » ls -al /usr/local/bin/pip3 littlechieh6@bogon
-rwxr-xr-x 1 root admin 263 Dec 21 22:56 /usr/local/bin/pip3

原pip和pip3脚本,关键点在于#!代表执行脚本的路径。由于pip和pip3都是由python3执行,所以使用pip -Vpip3 -V

#!/Applications/Xcode.app/Contents/Developer/usr/bin/python3
# -*- coding: utf-8 -*-
import re
import sys
from pip._internal.cli.main import main
if __name__ == '__main__':sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])sys.exit(main())

使用vim /usr/local/bin/pip将解释器指向Python2

#!/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7
# -*- coding: utf-8 -*-
import re
import sys
from pip._internal.cli.main import main
if __name__ == '__main__':sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])sys.exit(main())

三、效果

~ » pip -V littlechieh6@bogon
pip 20.2b1 from /Library/Python/2.7/site-packages/pip-20.2b1-py2.7.egg/pip (python 2.7)
-------------------------------------------------------------
~ » pip3 -V littlechieh6@bogon
pip 20.3.3 from /Library/Python/3.8/site-packages/pip (python 3.8)

参考教程:


  1. https://blog.csdn.net/u014259820/article/details/100580970

推荐阅读
  • 本文将详细介绍如何注册码云账号、配置SSH公钥、安装必要的开发工具,并逐步讲解如何下载、编译 HarmonyOS 2.0 源码。通过本文,您将能够顺利完成 HarmonyOS 2.0 的环境搭建和源码编译。 ... [详细]
  • 本文将详细介绍如何在Mac上安装Jupyter Notebook,并提供一些常见的问题解决方法。通过这些步骤,您将能够顺利地在Mac上运行Jupyter Notebook。 ... [详细]
  • 本文详细介绍了 InfluxDB、collectd 和 Grafana 的安装与配置流程。首先,按照启动顺序依次安装并配置 InfluxDB、collectd 和 Grafana。InfluxDB 作为时序数据库,用于存储时间序列数据;collectd 负责数据的采集与传输;Grafana 则用于数据的可视化展示。文中提供了 collectd 的官方文档链接,便于用户参考和进一步了解其配置选项。通过本指南,读者可以轻松搭建一个高效的数据监控系统。 ... [详细]
  • 在 Ubuntu 中遇到 Samba 服务器故障时,尝试卸载并重新安装 Samba 发现配置文件未重新生成。本文介绍了解决该问题的方法。 ... [详细]
  • 在Windows系统中安装TensorFlow GPU版的详细指南与常见问题解决
    在Windows系统中安装TensorFlow GPU版是许多深度学习初学者面临的挑战。本文详细介绍了安装过程中的每一个步骤,并针对常见的问题提供了有效的解决方案。通过本文的指导,读者可以顺利地完成安装并避免常见的陷阱。 ... [详细]
  • 在对WordPress Duplicator插件0.4.4版本的安全评估中,发现其存在跨站脚本(XSS)攻击漏洞。此漏洞可能被利用进行恶意操作,建议用户及时更新至最新版本以确保系统安全。测试方法仅限于安全研究和教学目的,使用时需自行承担风险。漏洞编号:HTB23162。 ... [详细]
  • Android中将独立SO库封装进JAR包并实现SO库的加载与调用
    在Android开发中,将独立的SO库封装进JAR包并实现其加载与调用是一个常见的需求。本文详细介绍了如何将SO库嵌入到JAR包中,并确保在外部应用调用该JAR包时能够正确加载和使用这些SO库。通过这种方式,开发者可以更方便地管理和分发包含原生代码的库文件,提高开发效率和代码复用性。文章还探讨了常见的问题及其解决方案,帮助开发者避免在实际应用中遇到的坑。 ... [详细]
  • 在List和Set集合中存储Object类型的数据元素 ... [详细]
  • 在Cisco IOS XR系统中,存在提供服务的服务器和使用这些服务的客户端。本文深入探讨了进程与线程状态转换机制,分析了其在系统性能优化中的关键作用,并提出了改进措施,以提高系统的响应速度和资源利用率。通过详细研究状态转换的各个环节,本文为开发人员和系统管理员提供了实用的指导,旨在提升整体系统效率和稳定性。 ... [详细]
  • 该问题可能由守护进程配置不当引起,例如未识别的JVM选项或内存分配不足。建议检查并调整JVM参数,确保为对象堆预留足够的内存空间(至少1572864KB)。此外,还可以优化应用程序的内存使用,减少不必要的内存消耗。 ... [详细]
  • 利用ZFS和Gluster实现分布式存储系统的高效迁移与应用
    本文探讨了在Ubuntu 18.04系统中利用ZFS和Gluster文件系统实现分布式存储系统的高效迁移与应用。通过详细的技术分析和实践案例,展示了这两种文件系统在数据迁移、高可用性和性能优化方面的优势,为分布式存储系统的部署和管理提供了宝贵的参考。 ... [详细]
  • 在开发过程中,我最初也依赖于功能全面但操作繁琐的集成开发环境(IDE),如Borland Delphi 和 Microsoft Visual Studio。然而,随着对高效开发的追求,我逐渐转向了更加轻量级和灵活的工具组合。通过 CLIfe,我构建了一个高度定制化的开发环境,不仅提高了代码编写效率,还简化了项目管理流程。这一配置结合了多种强大的命令行工具和插件,使我在日常开发中能够更加得心应手。 ... [详细]
  • 本文探讨了利用Python实现高效语音识别技术的方法。通过使用先进的语音处理库和算法,本文详细介绍了如何构建一个准确且高效的语音识别系统。提供的代码示例和实验结果展示了该方法在实际应用中的优越性能。相关文件可从以下链接下载:链接:https://pan.baidu.com/s/1RWNVHuXMQleOrEi5vig_bQ,提取码:p57s。 ... [详细]
  • 计算机视觉领域介绍 | 自然语言驱动的跨模态行人重识别前沿技术综述(上篇)
    本文介绍了计算机视觉领域的最新进展,特别是自然语言驱动的跨模态行人重识别技术。上篇内容详细探讨了该领域的基础理论、关键技术及当前的研究热点,为读者提供了全面的概述。 ... [详细]
  • 在 CentOS 7 中,为了扩展可用软件包的数量,通常需要配置多个第三方软件源。这些第三方源包括 EPEL、Nux Dextop 和 ELRepo 等,它们提供了大量官方源中未包含的软件包,从而增强了系统的功能性和灵活性。通过正确配置这些源,用户可以轻松安装和管理更多种类的软件,满足不同的需求。 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有