macOS 12 pyenv 和 pyenv-virtualenv 安装和使用

macOS 12 pyenv 和 pyenv-virtualenv 安装和使用,第1张

文章目录
  • macOS12 pyenv 和 pyenv-virtualenv 安装和使用
    • 准备工作
    • pyenv的安装和使用
    • pyenv-virtualenv的安装和使用

macOS12 pyenv 和 pyenv-virtualenv 安装和使用

macOS 12.3开始系统自带的Python.2.7被移除
macOS Monterey 12.3 Release Notes | Apple Developer Documentation

所以需要自行下载Python版本,而多个版本的Pyhton在Mac中可能会有冲突,最好是用版本管理来进行管理

pyenv可以通过命令方便的管理Python的环境,python-virtualenv是基于pyenv的python 虚拟环境管理

准备工作

安装之前推荐先设置代理,查看你的代理对应的端口,不设置代理brew和pyenv的下载都会特别的慢,没有代理自行搜索如何用国内镜像

输入命令,终端(shell)使用代理,这个命令是一次行的,终端关闭后就失效了

export https_proxy=http://127.0.0.1:1087 http_proxy=http://127.0.0.1:1087 all_proxy=socks5://127.0.0.1:1087

Homebrew的安装

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
pyenv的安装和使用

Homebrew安装 pyenv

brew update
brew install pyenv

配置shell环境,这里有一个坑点,第一条是pyenv去年新增的命令,网上许多文章没有,导致pyenv的版本控制无法正常使用

echo 'eval "$(pyenv init --path)"' >> ~/.zprofile
echo 'eval "$(pyenv init -)"' >> ~/.zshrc

重新打开终端,或者执行以下命令加载pyenv的配置

source ~/.zprofile
source ~/.zshrc

查看配置成功没,通过查看环境变量$PATH中是否有/Users/[用户名]/.pyenv/shims

选择你要安装的版本,以下安装Python 3.8.13和Python 2.7.18

pyenv install 3.8.13
pyenv install 2.7.18

查看已安装的Python版本

pyenv versions

pyenv global 设置全局版本

pyenv global 3.8.13 2.7.18

根据设置版本的前后来决定python解析的是哪个,前面的版本为3.8.13所以优先解析它

➜  ~ python --version
Python 3.8.13
➜  ~ python2 --version
Python 2.7.18
➜  ~ python3 --version
Python 3.8.13
➜  ~ which python3
/Users/unitary/.pyenv/shims/python3
➜  ~ which python
/Users/unitary/.pyenv/shims/python

pip 类似

➜  ~ pip --version
pip 22.0.4 from /Users/unitary/.pyenv/versions/3.8.13/lib/python3.8/site-packages/pip (python 3.8)
➜  ~ pip2 --version
pip 19.2.3 from /Users/unitary/.pyenv/versions/2.7.18/lib/python2.7/site-packages/pip (python 2.7)

pyenv shell 设置shell下的版本,意思在当前的shell下使用的版本,关闭终端后就失效

pyenv shell 2.7.18

pyenv local 设置本地目录下的版本,这个目录下所有目录都共用这个版本

➜  ~ pyenv local 2.7.18
➜  ~ python --version
Python 2.7.18
➜  ~ cd Applications
➜  Applications python --version
Python 2.7.18

本地目录的版本设置信息存放在./python-version中,pyenv local --unset进行取消

➜  ~ cat .python-version
2.7.18
➜  ~ pyenv local --unset
➜  ~ cat .python-version
cat: .python-version: No such file or directory
pyenv-virtualenv的安装和使用

Homebrew安装 pyenv-virtualenv

brew install pyenv-virtualenv

shell 环境配置

echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.zshrc
source ~/.zshrc

创建一个虚拟环境venv38,环境为当前的Python版本3.8.13

pyenv virtualenv venv38

创建指定版本的虚拟环境venv27,指定版本为2.7.18

virtualenv 2.7.18 venv27

查看已创建的虚拟环境

➜  ~ pyenv virtualenvs
  2.7.18/envs/venv27 (created from /Users/unitary/.pyenv/versions/2.7.18)
  3.8.13/envs/venv38 (created from /Users/unitary/.pyenv/versions/3.8.13)
  venv27 (created from /Users/unitary/.pyenv/versions/2.7.18)
  venv38 (created from /Users/unitary/.pyenv/versions/3.8.13)

切换至虚拟环境,在虚拟环境中下载的模块是独立的,只能在虚拟环境中使用,和其他环境隔离开的

➜  ~ pyenv shell venv27
(venv27) ➜  ~ python --version
Python 2.7.18

在有些情况下需要用activate的方式启用虚拟环境,我们这次激活venv38虚拟环境,最后用pyenv deativate退出环境

➜  ~ pyenv activate venv38
(venv38) ➜  ~ python --version
Python 3.8.13
(venv38) ➜  ~ pyenv deactivate
➜  ~

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/579973.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-11
下一篇 2022-04-11

发表评论

登录后才能评论

评论列表(0条)

保存