1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        好家伙,妥妥的 Python Master

        共 3909字,需瀏覽 8分鐘

         ·

        2023-01-09 14:17

        這是「進(jìn)擊的Coder」的第 782 ?篇技術(shù)分享 作者:寫代碼的明哥 來源:Python 編程時光

        閱讀本文大概需要 6 分鐘。


        以前介紹過非常地 Python 包管理工具,有 pip、 venv、pipenv、poetry、pdm 等

        ac93b2d14079f0a3be8d80b1654e1d18.webp

        詳情見:https://python.iswbm.com/

        今天來介紹一個更高層次的管理工具,可以直接管理 Python 解釋器的版本,同時也可以管理虛擬環(huán)境,它就是 pyenv。

        pyenv 的一個典型使用場景就是,比如一個老項目需要使用 Python 2.x ,而另一個新項目需要 Python 3.x 。而 virtualenv 主要是用來管理相同版本 Python 不同項目的包的依賴不同的問題,就無法解決這個問題,這個時候就需要 pyenv。

        有了 pyenv,你可以一鍵安裝、切換到任意你需要的 python 版本,從 2.1.3 -> 3.12-dev(稿前為止最新版本)。

        除了常規(guī)的 CPython 之外,它還可以管理其他的 python 和 工具,包括:

        • graalpython

        • ironpython

        • jython

        • micropython

        • pypy

        • miniconda

        • anaconda

        • pyston

        • stackless

        • 等等

        好家伙,我愿稱之為 Python Env Master,而上面每個工具,還有細(xì)分的版本,不用擔(dān)心,pyenv 全部都有收錄,可以滿足你幾乎所有需求了。

        # 1. 安裝與配置

        先安裝 pyenv,由于我使用 macOS,使用 brew 可以很方便地安裝它

              brew?update
        brew?install?pyenv

        安裝 pyenv 會安裝相當(dāng)多的依賴包,包括:

        • pyenv: pyenv 工具自身

        • pyenv-update: 用來更新 pyenv 的插件

        • pyenv-doctor: 驗證 pyenv 和依賴是否安裝的插件

        • pyenv-which-ext: 用來尋找相同命令的插件

        使用 pyenv help 查看一下幫助命令,如果沒有報錯,說明安裝成功

        004d5e11001224e3d9d00b4f2228368f.webp

        另外,除了 pyenv,還要安裝一個插件 pyenv-virtualenv,它是專門用來管理 vitual environments 的

              brew?install?pyenv-virtualenv

        安裝好后,還要進(jìn)行一下初始化。

        為了下次新開終端也可以立馬使用 pyenv,可以將下面兩條初始化命令寫入 .bash_profile.zshrc(根據(jù)自己實際情況而定)

              eval?"$(pyenv?init?-)"
        eval?"$(pyenv?virtualenv-init?-)"

        然后再次執(zhí)行 source 使之立即執(zhí)行

              source?~/.bash_profile
        #?或
        source?~/.zshrc

        # 2. 基本使用

        環(huán)境配置好后,那如何知道有哪些版本可以安裝呢?

        可以使用如下命令查詢所有可安裝的項

              pyenv?install?--list

        比如我現(xiàn)在需要安裝的是 python3.8,但我不知道最新的小版本是多少,就可以使用上面命令查詢一下

        93f1b832634ff98b2e7dc0a8694317c3.webp

        發(fā)現(xiàn)最新的版本是 3.8.16,于是直接使用 install 來安裝它,再使用 pyenv versions 就可以看到我們安裝的版本了。

        f45b919c6eba05edb49ed016f6dd7c9f.webp

        從上面截圖可以看到,安裝完后并不會自動切換過去,目前還是指向系統(tǒng)自帶的 Python,需要手動進(jìn)行版本的切換,切換方法有如下兩種:

              pyenv?global?3.8.16
        #?或?
        pyenv?local?3.8.16

        那這種有什么區(qū)別呢?簡單來說:

        • global:設(shè)置全局的 Python 解釋器,不管你在任何路徑下都是使用該版本的 Python

        • local:設(shè)置的是某特定目錄(或項目)的 Python 解釋器,只有在該目錄下才能用該版本的 Python

        我們使用 pyenv versions 可以觀察下指向的 Python 版本,可以發(fā)現(xiàn)

        • 只要進(jìn)入 wechat-chatgpt 目錄,就會使用 .python-version里的解釋

        • 一旦離開 wechat-chatgpt 目錄,就又會使用全局的 Python 解釋器

        19f8e0d1f1bcd4da02c3f39eaf9d7af7.webp

        想要切換回系統(tǒng)自帶的 Python ,也是同樣道理,將版本換成 system 即可

              pyenv?global?system

        # 3. 虛擬環(huán)境

        pyenv 管理的每一個版本在 ~/.pyenv/versions 下都有對應(yīng)的目錄

        8c77347539ecb4ccb16a17f4af4730af.webp

        當(dāng)然 pyenv 創(chuàng)建的虛擬環(huán)境也是在這下面,只不過我還沒有創(chuàng)建過虛擬環(huán)境。

        現(xiàn)在使用使用如下命令創(chuàng)建一個

              pyenv?virtualenv?3.8.16?wechat-chatgpt

        可以發(fā)現(xiàn)不管在 ~/.pyenv/versions目錄下還是 pyenv versions都會新增一個環(huán)境

        286d720be3a84b13ac7e8b4386ad3bd2.webp

        只要在對應(yīng)的目錄下使用 local 指定 Python 版本,就實現(xiàn)了項目與 Python 版本的綁定。實在是太友好啦~

        2b0a1eec1f7d9d6aa131270e23d78334.webp

        另外列幾個虛擬環(huán)境管理的命令

        • 查看所有虛擬環(huán)境:pyenv virtualenvs

        • 刪除指定虛擬環(huán)境:pyenv virtualenv-delete

        • 查看虛擬環(huán)境的真實的 Python 環(huán)境:pyenv virtualenv-prefix

        # 4.?寫在最后

        pyenv 從解釋器管理到虛擬環(huán)境管理,給了 Python 工程師一站式的體驗,對于那些需要維護(hù)很多項目并且有些項目依賴了不同的 Python 版本的人來說,請一定在你的電腦上安裝 pyenv,因為它實在太方便了。

        f56f798dc4be41199052d1ee07735f4d.webp

        End

        崔慶才的新書《Python3網(wǎng)絡(luò)爬蟲開發(fā)實戰(zhàn)(第二版)》已經(jīng)正式上市了!書中詳細(xì)介紹了零基礎(chǔ)用 Python 開發(fā)爬蟲的各方面知識,同時相比第一版新增了 JavaScript 逆向、Android 逆向、異步爬蟲、深度學(xué)習(xí)、Kubernetes 相關(guān)內(nèi)容,?同時本書已經(jīng)獲得 Python 之父 Guido 的推薦,目前本書正在七折促銷中!

        內(nèi)容介紹:《Python3網(wǎng)絡(luò)爬蟲開發(fā)實戰(zhàn)(第二版)》內(nèi)容介紹


        29faaaeaab31b1f12fd3ac7b0fce0b2d.webp


        掃碼購買




        好文和朋友一起看~
        瀏覽 70
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

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

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            亚洲男人天 | 俺去也婷婷 | 成年网站在线观看 | 国精产品视频久久 | 天天综合色网 | 日本h电影 | 精品精品| 亚洲AAA电影 | 麻豆系列在线观看 | 日韩舔阴视频 |