首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何确保在使用Mac安装3.11版本之后更新Python版本?

如何确保在使用Mac安装3.11版本之后更新Python版本?
EN

Stack Overflow用户
提问于 2022-10-29 11:42:39
回答 1查看 73关注 0票数 0

我刚刚安装了PythonVersion3.11(我还将3.8和3.9版本从我的应用程序文件夹中移到垃圾桶中)。

我可以从以下几个方面看出这一点:

代码语言:javascript
运行
复制
$ myname@name-MBP miniconda3 % ls /usr/local/bin/py*
/usr/local/bin/pydoc3           /usr/local/bin/python3-intel64
/usr/local/bin/pydoc3.11        /usr/local/bin/python3.11
/usr/local/bin/python3          /usr/local/bin/python3.11-config
/usr/local/bin/python3-config       /usr/local/bin/python3.11-intel64

(如果有任何关于我是否需要清理东西的额外建议,我将不胜感激。)

检查python3 --version仍然显示Python 3.8.13

首次尝试解决问题

最初,我尝试使用homebrew并指定版本从命令行安装它:

brew install python@3.11

我也尝试过使用conda,但这两种方法都不起作用。

第二次尝试解决

我最初的想法是检查我的路径(我认为Python就是这样决定使用哪个版本的,但是如果我错了,请纠正我)。

这仍然只包含版本8路径:

代码语言:javascript
运行
复制
/Users/myname/miniconda3/lib/python38.zip
/Users/myname/miniconda3/lib/python3.8
/Users/myname/miniconda3/lib/python3.8/lib-dynload
/Users/myname/.local/lib/python3.8/site-packages
/Users/myname/miniconda3/lib/python3.8/site-packages

因此,我使用以下方法向其添加Python3.11路径

代码语言:javascript
运行
复制
PYTHONPATH="/usr/local/bin/pydoc3.11/:$PYTHONPATH"
export PYTHONPATH

现在它包括了打印sys.path时的v3.11路径

代码语言:javascript
运行
复制
/usr/local/bin/python3.11
/usr/local/bin/pydoc3.11
/Users/myname/miniconda3
/Users/myname/miniconda3/lib/python38.zip
/Users/myname/miniconda3/lib/python3.8
/Users/myname/miniconda3/lib/python3.8/lib-dynload
/Users/myname/.local/lib/python3.8/site-packages
/Users/myname/miniconda3/lib/python3.8/site-packages

但是python3 --version输出仍然保持不变。

问题

我很紧张,因为我真的不知道我在做什么,所以我一直在玩我的路径的内容,并输入随机命令行执行来试图解决这个问题。

这里发生了什么事?

如何使python3 --version的输出为3.11?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-29 22:31:38

因此,首先要理解的是设置变量PYTHONPATH不会影响由shell执行哪个版本的python。shell (bash/zsh)只知道扫描PATH env中的路径以确定所有可执行文件。

现在有两种方法来解决这个问题。

1.利用自制的python@3.11

使用这种方法有几个缺点。目前,brew默认的python3是3.10.x。每当您安装依赖于python@3的木桶或公式时,它总是会安装python@3公式,也就是3.10.x。安装python3将使brew符号链接3.10.x进入/opt/homebrew/bin

Python3.11.x可以通过安装python@3.11和调用python3.11来使用。这应该会让您进入Python3.11解释器。将所有python可执行名称附加到类似于pip的版本后,将是pip3.11

试图迫使3.11以上的3.10链接将是复杂的,并造成不稳定。它只会在开发过程中造成挫折。

2.使用VirtualEnvs

使用venvpyenv创建虚拟env是您对python最稳定、最不头痛的最佳选择。最大程度地方便地使用pyenv-virtualenv

venv的一个限制是它将创建一个与调用它的版本相同的虚拟主机。也就是说,如果您执行brew install python@3 && python3 -m venv <folder>,它将创建python3的虚拟版本。对于3.11,您必须使用brew install python@3.11 && python3.11 -m venv <folder>。另一方面,Pyenv可以安装任何版本的python。

通过https://www.dataquest.io/blog/a-complete-guide-to-python-virtual-environments/https://github.com/pyenv/pyenv-virtualenv了解和了解更多信息。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74244945

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档