Mac 升级Python遇到Anaconda的冲突解决,以及pip/virtualenv升级

简介: 好久没用python了,最近想试试一些新的python库,需要升级Macbook的python。发现这个过程问题还挺多的,主要是新的包只支持python3,不得不升级了。。。

直接使用命令 brew upgrade python 进行升级

这个命令会安装过程会下载一下依赖包,也会下载稳定版的python3。


Operation time out 问题

如果出现问题:Failed to connect to www.python.org port 443: Operation timed out


类似的错误:ERROR: Could not install packages due to an EnvironmentError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443)


这个主要是网络问题,建议重试几次之后重试brew升级命令


image.png

遇到xcode-select问题

单独运行 xcode-select --install .安装即可,Apple国内下载xcode相关包速度还够给力。

主要是brew安装新版python过程需要一些xcode的依赖。

image.png

升级Python3之后发现terminal这边输入python -V,输出还是2.7

出现下面的情况,明明brew安装好了python3,可是重新开一个terminal输入python -V 仍然显示2.7

image.png

因为系统之前安装过anaconda,查看.bash_profile文件发现最后将conda.sh提前source了,path变量被动了。


这里需要将bash profile中conda 设置PATH这一段注释掉。


或者直接在bash profile,3.8版本的路径可以参考下面内容,直接添加到~/.bash_profile最后一行:


export PATH=/Library/Frameworks/Python.framework/Versions/3.8/bin:$PATH

image.png

旧的pip也需要进行升级

否则系统会一直显示2.7 Python 不支持(DEPRECATION: Python 2.7 reached the end of its life)相关的信息。


强烈建议升级, 否则有些项目使用pip命令会出现“socket.timeout: The read operation timed out” 这样的错误。


python -m pip install --upgrade pip


或者全路径:


/usr/local/bin/python -m pip install --upgrade pip


image.png

image.png

旧版的virtualenv需要升级安装

virtualenv命令可以使用但是就没有报错,不兼容,直接升级。


image.png

升级virtualenv需要使用pip命令来做:

pip install --upgrade virtualenv

image.png

virtualenv 创建一个虚拟环境


image.png

image.png

至此,pip,virtualenv都是可以有效使用的,这次分享到这里。

目录
相关文章
|
2月前
|
Python
【10月更文挑战第10天】「Mac上学Python 19」小学奥数篇5 - 圆和矩形的面积计算
本篇将通过 Python 和 Cangjie 双语解决简单的几何问题:计算圆的面积和矩形的面积。通过这道题,学生将掌握如何使用公式解决几何问题,并学会用编程实现数学公式。
165 60
|
2月前
|
PyTorch Linux 算法框架/工具
pytorch学习一:Anaconda下载、安装、配置环境变量。anaconda创建多版本python环境。安装 pytorch。
这篇文章是关于如何使用Anaconda进行Python环境管理,包括下载、安装、配置环境变量、创建多版本Python环境、安装PyTorch以及使用Jupyter Notebook的详细指南。
293 1
pytorch学习一:Anaconda下载、安装、配置环境变量。anaconda创建多版本python环境。安装 pytorch。
|
2月前
|
Python
【10月更文挑战第10天】「Mac上学Python 20」小学奥数篇6 - 一元一次方程求解
本篇将通过 Python 和 Cangjie 双语讲解如何求解一元一次方程。通过这道题,学生将掌握如何用编程实现方程求解,并体验基本的代数计算。
115 1
|
2月前
|
Python
【10月更文挑战第7天】「Mac上学Python 14」基础篇8 - 运算符详解
本篇将详细介绍Python中的运算符,包括数学运算、关系运算、逻辑运算、赋值运算和成员运算等内容。同时会说明运算符的优先级和运算顺序,帮助用户理解和掌握Python中的运算符使用规则。
39 3
【10月更文挑战第7天】「Mac上学Python 14」基础篇8 - 运算符详解
|
2月前
|
Python
【10月更文挑战第7天】「Mac上学Python 13」基础篇7 - 数据类型转换与NoneType详解
本篇将详细介绍Python中的常见数据类型转换方法以及 `NoneType` 的概念。包括如何在整数、浮点数、字符串等不同数据类型之间进行转换,并展示如何使用 `None` 进行初始赋值和处理特殊情况。通过本篇的学习,用户将深入理解如何处理不同类型的数据,并能够在代码中灵活使用 `None` 处理未赋值状态。
62 2
【10月更文挑战第7天】「Mac上学Python 13」基础篇7 - 数据类型转换与NoneType详解
|
2月前
|
Python
【10月更文挑战第7天】「Mac上学Python 15」小学奥数篇1 - 如何平分6个苹果和4个橘子
本篇将通过 Python 和 Cangjie 双语讲解一个简单的数学题:如何平分 N 个苹果和 M 个橘子。这道题旨在锻炼初学者的逻辑思维,并学会使用编程解决实际问题。
92 1
【10月更文挑战第7天】「Mac上学Python 15」小学奥数篇1 - 如何平分6个苹果和4个橘子
|
2月前
|
Java 索引 Python
【10月更文挑战第19天】「Mac上学Python 30」基础篇11 - 高级循环技巧与应用
本篇将介绍更深入的循环应用与优化方法,重点放在高级技巧和场景实践。我们将讲解enumerate()与zip()的妙用、迭代器与生成器、并发循环以及性能优化技巧。这些内容将帮助您编写更高效、结构更合理的代码。
67 5
|
2月前
|
数据安全/隐私保护 Python
【10月更文挑战第17天】「Mac上学Python 28」基础篇9 - 条件语句与逻辑判断
在Python中,条件语句和逻辑判断是控制程序执行流程的关键工具,帮助程序在不同条件下做出不同决策。通过本篇的学习,您将掌握单选、双分支、多选结构、单行条件表达式、条件嵌套、条件判断的类型和逻辑运算符的用法,从而更灵活地控制程序执行流程。
50 5
|
2月前
|
Python
【10月更文挑战第18天】「Mac上学Python 29」基础篇10 - 循环结构与迭代控制
在Python中,循环结构是控制程序执行的重要工具。通过学习本篇内容,您将掌握如何使用for循环和while循环来高效地处理重复任务,并了解break、continue和else的使用方式。同时,我们还会探索嵌套循环和典型应用场景中的实际应用。
41 2
|
2月前
|
存储 算法 Python
【10月更文挑战第16天】「Mac上学Python 27」小学奥数篇13 - 动态规划入门
本篇将通过 Python 和 Cangjie 双语介绍动态规划的基本概念,并解决一个经典问题:斐波那契数列。学生将学习如何使用动态规划优化递归计算,并掌握编程中的重要算法思想。
102 3