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

2022-09-11 07:58:30

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)使用代理,这个命令是一次行的,终端关闭后就失效了

exporthttps_proxy=http://127.0.0.1:1087http_proxy=http://127.0.0.1:1087all_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
brewinstall pyenv

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

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

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

source ~/.zprofilesource ~/.zshrc

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

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

pyenvinstall3.8.13
pyenvinstall2.7.18

查看已安装的Python版本

pyenv versions

pyenv global 设置全局版本

pyenv global3.8.132.7.18

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

➜  ~ python --version
Python3.8.13
➜  ~ python2 --version
Python2.7.18
➜  ~ python3 --version
Python3.8.13
➜  ~which python3
/Users/unitary/.pyenv/shims/python3
➜  ~which python
/Users/unitary/.pyenv/shims/python

pip 类似

➜  ~ pip --version
pip22.0.4 from /Users/unitary/.pyenv/versions/3.8.13/lib/python3.8/site-packages/pip(python3.8)
➜  ~ pip2 --version
pip19.2.3 from /Users/unitary/.pyenv/versions/2.7.18/lib/python2.7/site-packages/pip(python2.7)

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

pyenv shell2.7.18

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

➜  ~ pyenvlocal2.7.18
➜  ~ python --version
Python2.7.18
➜  ~cd Applications
➜  Applications python --version
Python2.7.18

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

➜  ~cat .python-version2.7.18
➜  ~ pyenvlocal --unset
➜  ~cat .python-version
cat: .python-version: No suchfile or directory

pyenv-virtualenv的安装和使用

Homebrew安装 pyenv-virtualenv

brewinstall pyenv-virtualenv

shell 环境配置

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

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

pyenv virtualenv venv38

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

virtualenv2.7.18 venv27

查看已创建的虚拟环境

➜  ~ pyenv virtualenvs2.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
Python2.7.18

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

➜  ~ pyenv activate venv38(venv38) ➜  ~ python --version
Python3.8.13(venv38) ➜  ~ pyenv deactivate
➜  ~
  • 作者:酉酉囧
  • 原文链接:https://blog.csdn.net/qq_41725312/article/details/123995365
    更新时间:2022-09-11 07:58:30