<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>

          終于可以擺脫 Pipenv 這坑貨了

          共 2792字,需瀏覽 6分鐘

           ·

          2021-10-24 09:40

          大家好,我是老表~今天給大家分享一個優(yōu)質(zhì)的虛擬環(huán)境管理工具,如標(biāo)題所言,在某些方面確實優(yōu)于pipenv,不過我還是想表明pipenv深得我心。

          之前在介紹一些管理 Python 虛擬環(huán)境的工具時,比如 pipenv,virtualenv 等,總有讀者留言,希望我整一期 poetry 的。

          我用Pipenv來管理項目環(huán)境,大寫的爽

          在接觸 poetry 之前,我以為 pipenv 已經(jīng)是我心目中最理想的虛擬環(huán)境工具,直到 19年 看過@李輝?的一篇文章(http://greyli.com/do-not-use-pipenv/)才讓我開始動搖,原來一直輕量使用的我,一直沒有感覺到 pipenv 的各種問題,咱也不知道經(jīng)過這幾年的發(fā)展,pipenv 是否有所改進(jìn)?不過我想對于曾經(jīng)?"深受其害" 的用戶來說,可能早就投入了 poetry 的懷抱。

          廢話不多說,直接上干貨。

          首先需要你的電腦安裝好了Python環(huán)境,并且安裝好了Python開發(fā)工具。

          如果你還沒有安裝,可以參考以下文章:

          如果僅用Python來處理數(shù)據(jù)、爬蟲、數(shù)據(jù)分析或者自動化腳本、機(jī)器學(xué)習(xí)等,建議使用Python基礎(chǔ)環(huán)境+jupyter即可,安裝使用參考Windows/Mac 安裝、使用Python環(huán)境+jupyter notebook

          如果想利用Python進(jìn)行web項目開發(fā)等,建議使用Python基礎(chǔ)環(huán)境+Pycharm,安裝使用參考:Windows下安裝、使用Pycharm教程,這下全了?和?Mac下玩轉(zhuǎn)Python-安裝&使用Python/PyCharm?

          # 1. 安裝 poetry

          poetry提供多種安裝方式,個人推薦從以下2種方式中選擇:

          方式一:(推薦)使用在線腳本進(jìn)行安裝,是最為推薦的安裝方式

          $?curl?-sSL?https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py?|?python

          方式二:(pip) 官方不建議這么做,因為有可能會造成依賴沖突,可以考慮用 pipx 或 pipsi

          $?pip?install?--user?poetry

          安裝后,可以使用如下命令檢測是否可用

          $?poetry?--version
          Poetry?version?1.1.4

          # 2. 創(chuàng)建項目

          如果你是在一個已有的項目里使用 Poetry,你只需要執(zhí)行 poetry init 命令來創(chuàng)建一個 pyproject.toml 文件:

          $?poetry?init

          而如果是新建 一個項目,可以使用這個命令

          $?poetry?new?demo-priject

          運行完后,在當(dāng)前目錄下就會多一個 demo-project 的目錄,這個目錄下的文件結(jié)構(gòu)如下

          $?tree?demo-priject
          demo-priject
          ├──?README.rst
          ├──?demo_priject
          │???└──?__init__.py
          ├──?pyproject.toml
          └──?tests
          ????├──?__init__.py
          ????└──?test_demo_priject.py

          如果要把項目代碼放入到 src 目錄下,在創(chuàng)建項目時,可以加上 --src 參數(shù)。

          # 3. 創(chuàng)建虛擬環(huán)境

          使用 poetry install 命令創(chuàng)建虛擬環(huán)境(確保當(dāng)前目錄有 pyproject.toml 文件):

          $?poetry?install

          這個命令會讀取 pyproject.toml 中的所有依賴(包括開發(fā)依賴)并安裝,如果不想安裝開發(fā)依賴,可以附加 --no-dev 選項。如果項目根目錄有 poetry.lock 文件,會安裝這個文件中列出的鎖定版本的依賴。如果執(zhí)行 add/remove 命令的時候沒有檢測到虛擬環(huán)境,也會為當(dāng)前目錄自動創(chuàng)建虛擬環(huán)境。

          # 4. 使用虛擬環(huán)境

          創(chuàng)建虛擬環(huán)境后,如果想要在虛擬環(huán)境下執(zhí)行命令,比如去執(zhí)行腳本,去使用 pip list 等等。

          可以在項目目錄下,使用如下命令

          $?poetry?run?

          比如我查看該虛擬環(huán)境中安裝了哪些包

          $?poetry?run?pip?list

          再比如我想在該虛擬環(huán)境下執(zhí)行 app.py

          $?poetry?run?python?app.py

          每次在虛擬環(huán)境下做點啥事,命令前面都要加上 poetry run,有點太麻煩了。

          這時可以使用下面這條命令,直接激活當(dāng)前的虛擬環(huán)境

          $?poetry?shell

          # 5. 包的管理

          安裝包

          $?poetry?add?

          添加 --dev 參數(shù)可以指定為開發(fā)依賴

          $?poetry?add?pytest?--dev

          查看所有安裝的依賴包

          $?poetry?show

          加上 --tree 可以查看他們的依賴關(guān)系

          $?poetry?show?--tree

          加上 --outdated 可以查看可以更新的依賴

          $?poetry?show?--outdated

          如果要更新依賴可以執(zhí)行這個命令

          #?更新全部
          $?poetry?update

          #
          ?更新某個依賴
          $?poetry?update?foo

          想卸載某個包,用這個命令

          $?poetry?remove?foo

          # 6. 常用配置

          Poetry 的配置存儲在單獨的文件中,比 Pipenv 設(shè)置環(huán)境變量的方式要方便一點。配置通過 poetry config 命令設(shè)置,比如下面的命令可以寫入 PyPI 的賬號密碼信息:

          $?poetry?config?http-basic.pypi?username?password

          下面的命令設(shè)置在項目內(nèi)創(chuàng)建虛擬環(huán)境文件夾:

          $?poetry?config?settings.virtualenvs.in-project?true

          另一個常用的配置是設(shè)置 PyPI 鏡像源,以使用豆瓣提供的 PyPI 鏡像源為例,你需要在 pyproject.toml 文件里加入這部分內(nèi)容:

          [[tool.poetry.source]]
          name?=?"douban"
          url?=?"https://pypi.doubanio.com/simple/"


          我是老表,愛貓愛技術(shù)~

          點贊+留言+轉(zhuǎn)發(fā),就是對我最大的支持啦~

          文章點贊超過100+
          我將在個人視頻號直播(老表Max)
          帶大家一起進(jìn)行項目實戰(zhàn)復(fù)現(xiàn)
          贈送對應(yīng)圖書1本



          掃碼即可加我微信

          老表朋友圈經(jīng)常有贈書/紅包福利活動


          學(xué)習(xí)更多:
          整理了我開始分享學(xué)習(xí)筆記到現(xiàn)在超過250篇優(yōu)質(zhì)文章,涵蓋數(shù)據(jù)分析、爬蟲、機(jī)器學(xué)習(xí)等方面,別再說不知道該從哪開始,實戰(zhàn)哪里找了
          點贊”就是對博主最大的支持?
          瀏覽 36
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

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

          手機(jī)掃一掃分享

          分享
          舉報
          <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>
                  免费看一级黄色大片 | 亚洲高清无码视频大全 | 91人妻一区二区三 | 日韩AV中文字幕在线 | 天天澡天天日天天射天天舔天天爽爽爽 |