Who*_*oNo 4 python terminal homebrew pip python-venv
我目前在 Mac 上运行 python 3.6,并通过官方 python 版本下载和安装安装了最新版本的 Python (3.11) 。运行python3.11在 3.11 中打开解释器,并python3.11 --version返回Python 3.11.0,但python -V在终端中返回Python 3.6.1 :: Continuum Analytics, Inc.。
我尝试使用 homebrew 再次安装brew install python@3.11,但得到了相同的结果。
python3 -m venv env更令人沮丧的是,当我尝试使用我打开虚拟环境时
Error: Command '['/Users/User/env/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1.
Run Code Online (Sandbox Code Playgroud)
我改变.bash_profile了
# Setting PATH for Python 3.11
# The original version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/3.11/bin:${PATH}"
export PATH
. "$HOME/.cargo/env"
Run Code Online (Sandbox Code Playgroud)
并.zprofile 根据这篇文章创建了一个
export PYTHONPATH=$HOME/Users/User
Run Code Online (Sandbox Code Playgroud)
和.zshrc 基于这篇文章的,但--version仍然抛出python3.6。
我正在运行 Big Sur 操作系统。Pip 和 homebrew 是最新的并已升级。承认我完全愚蠢,我需要做什么才能让 python >3.7 在终端中运行?
通过homebrew安装python后,您可以看到python3.11只是符号链接。
cd /usr/local/bin; ls -l | grep python3.11
Run Code Online (Sandbox Code Playgroud)
结果是:
lrwxr-xr-x 1 user admin 43 Nov 7 15:43 python3.11@ -> ../Cellar/python@3.11/3.11.0/bin/python3.11
Run Code Online (Sandbox Code Playgroud)
所以让我们覆盖它。
ln -s -f $(which python3.11) $(which python)
ln -s -f $(which python3.11) $(which python3)
ln -s -f $(which pip3.11) $(which pip)
ln -s -f $(which pip3.11) $(which pip3)
Run Code Online (Sandbox Code Playgroud)
在这些命令之后,pip、pip3、python3、python将调用版本 3.11。
该命令创建软符号链接。
ln -s
Run Code Online (Sandbox Code Playgroud)
该命令带有-f选项覆盖现有的软符号链接。
软符号链接类似于快捷方式。
在手册页中,which命令描述为
其中 - 显示(shell)命令的完整路径。