<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Python版本管理工具pyenv

          共 3641字,需瀏覽 8分鐘

           ·

          2023-11-06 23:19

          這里介紹通過pyenv進行Python版本的管理
          abstract.png

          安裝

          Mac下直接使用Homebrew安裝

          # 更新 Homebrew 的軟件列表
          brew update
          # 安裝pyenv
          brew install pyenv

          # 驗證是否安裝成功
          pyenv -v

          然后執(zhí)行下述命令,其會自動檢測你所使用的shell環(huán)境,并提示如何配置shell環(huán)境

          pyenv init 

          這里我們使用的Shell是zsh,故將相關配置添加到用戶目錄下的.zshrc文件即可

          # Zsh Shell配置
          export PYENV_ROOT="$HOME/.pyenv"
          command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"
          eval "$(pyenv init -)"
          figure 1.jpg

          常用命令

          查看可安裝的Python版本

          pyenv install --list

          pyenv install -l

          安裝指定版本Python

          pyenv install <version>

          # 安裝3.11.1版本的Python
          pyenv install 3.11.1

          查看已安裝版本Python、當前活動的Python版本

          同時會在當前被激活的版本前添加星號。如果未激活任何版本Python,則默認在system行顯示星號

          # 查看已安裝的Python版本
          pyenv versions

          # 顯示當前活動的Python版本
          pyenv version

          卸載指定版本Python

          pyenv uninstall <version>

          # 卸載3.11.1版本的Python
          pyenv uninstall 3.11.1

          切換Python版本

          1. 設置全局的Python版本

          # 設置 全局的Python版本
          pyenv global <version>

          # 查看 全局的Python版本設置
          pyenv global
          figure 2.jpg

          3. 設置當前目錄下的Python版本

          后續(xù)進入該目錄后,會自動切換到此前設置的Python版本。具體地,其會在該目錄下生成一個.python-version文件,用于記錄設置的Python版本信息。顯然,該設置的優(yōu)先級高于全局的Python版本

          # 設置 當前目錄下的Python版本
          pyenv local <version>

          # 顯示 當前目錄下的Python版本設置
          pyenv local

          # 取消 當前目錄下的Python版本設置
          pyenv local --unset

          3. 設置當前Shell會話的Python版本

          該設置的優(yōu)先級高于 基于目錄設置的Python版本 和 全局的Python版本

          # 設置 當前Shell會話的Python版本
          pyenv shell <version>

          # 查看 當前Shell會話的Python版本設置
          pyenv shell

          # 取消 當前Shell會話的Python版本設置
          pyenv shell --unset

          總結下,三種不同Python版本設置的優(yōu)先級依次遞減

          shell > local > global
          figure 3.jpg

          鏡像加速

          pyenv安裝python是從python官網(wǎng)下載的,速度非常慢。雖然不能直接更改pyenv下載的鏡像源。但我們可以將從其他地方下載的安裝包放置在 ~/.pyenv/cache/ 目錄下,這樣pyenv就會利用本地文件進行安裝。這里我們利用Shell定義一個pyinstall函數(shù),腳本文件pyenvFunc.sh內(nèi)容如下

          #!/usr/local/bin/zsh

          # 從國內(nèi)鏡像源下載Python壓縮包,并使用pyenv進行安裝
          function pyinstall() {
              py_version=$1
              echo "準備安裝 Python ${py_version}"
              
              # 確保cache目錄存在
              pyenv_cache_dir=~/.pyenv/cache/
              mkdir -p ${pyenv_cache_dir}

              # Python壓縮包的文件名
              pyenv_cache_file=Python-${py_version}.tar.xz
              # Python壓縮包的完整存放路徑
              pyenv_cache_file_path=${pyenv_cache_dir}${pyenv_cache_file}
              # 從指定地址下載Python壓縮包
              curl -L https://npm.taobao.org/mirrors/python/${py_version}/Python-${py_version}.tar.xz -o ${pyenv_cache_file_path}
              # 安裝Python
              pyenv install ${py_version}

              echo "Python ${py_version} 安裝成功啦~~~"

              # 刪除Python壓縮包
              cd ${pyenv_cache_dir}
              rm ${pyenv_cache_file}
          }

          由于我們使用的Shell是zsh,故在用戶目錄下的.zshrc文件中引用pyenvFunc.sh腳本即可

          ...

          # 引用pyinstall函數(shù):從國內(nèi)鏡像源下載Python壓縮包,并使用pyenv進行安裝
          source ~/CustomShellScript/pyenvFunc.sh

          ...
          figure 4.jpg

          至此就可以使用pyinstall命令來安裝不同版本的python了

          figure 5.jpg

          瀏覽 128
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  五月丁香自拍偷拍 | 99无码视频 | 亚洲无码性爱 | 天天撸天天干 | 青草青青青视频 |