偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

終于可以擺脫 Pipenv 這坑貨了

開(kāi)發(fā) 前端
原來(lái)一直輕量使用的我,一直沒(méi)有感覺(jué)到 pipenv 的各種問(wèn)題,咱也不知道經(jīng)過(guò)這幾年的發(fā)展,pipenv 是否有所改進(jìn)?不過(guò)我想對(duì)于曾經(jīng) "深受其害" 的用戶來(lái)說(shuō),可能早就投入了 poetry 的懷抱。

[[416484]]

大家好,我是明哥。

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

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

廢話不多說(shuō),直接上干貨。

# 1. 安裝 poetry

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

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

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

方式二:(pip) 官方不建議這么做,因?yàn)橛锌赡軙?huì)造成依賴沖突,可以考慮用 pipx 或 pipsi

  1. $ pip install --user poetry 

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

  1. $ poetry --version 
  2. Poetry version 1.1.4 

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

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

  1. $ poetry init 

而如果是新建 一個(gè)項(xiàng)目,可以使用這個(gè)命令

  1. $ poetry new demo-priject 

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

  1. $ tree demo-priject 
  2. demo-priject 
  3. ├── README.rst 
  4. ├── demo_priject 
  5. │   └── __init__.py 
  6. ├── pyproject.toml 
  7. └── tests 
  8.     ├── __init__.py 
  9.     └── test_demo_priject.py 

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

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

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

  1. $ poetry install 

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

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

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

可以在項(xiàng)目目錄下,使用如下命令

 

  1. $ poetry run <commands> 

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

  1. $ poetry run pip list 

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

  1. $ poetry run python app.py 

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

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

  1. $ poetry shell 

# 5. 包的管理

安裝包

 

  1. $ poetry add <pkg> 

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

  1. $ poetry add pytest --dev 

查看所有安裝的依賴包

  1. $ poetry show 

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

  1. $ poetry show --tree 

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

  1. $ poetry show --outdated 

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

  1. # 更新全部 
  2. $ poetry update 
  3.  
  4. # 更新某個(gè)依賴 
  5. $ poetry update foo 

想卸載某個(gè)包,用這個(gè)命令

  1. $ poetry remove foo 

# 6. 常用配置

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

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

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

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

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

  1. [[tool.poetry.source]] 
  2. name = "douban" 
  3. url = "https://pypi.doubanio.com/simple/" 
本文轉(zhuǎn)載自微信公眾號(hào)「Python編程時(shí)光」,可以通過(guò)以下二維碼關(guān)注。轉(zhuǎn)載本文請(qǐng)聯(lián)系Python編程時(shí)光公眾號(hào)。

 

責(zé)任編輯:武曉燕 來(lái)源: Python編程時(shí)光
相關(guān)推薦

2021-07-29 20:29:36

Linux c 代碼Java

2024-07-16 16:53:09

2023-04-03 08:56:38

系統(tǒng)重構(gòu)應(yīng)用

2021-09-27 09:19:13

微信關(guān)懷模式 騰訊

2023-04-07 07:20:05

Rust系統(tǒng)項(xiàng)目

2024-03-18 08:53:07

SubListOOMList

2023-04-14 07:49:26

iOS安卓

2020-11-23 06:50:31

微信原視頻移動(dòng)應(yīng)用

2023-10-31 07:40:15

EslintJSHint

2024-07-08 00:00:07

2018-02-25 10:49:49

GboardiOS平臺(tái)Android

2019-07-24 09:59:21

iPhoneiOS 12.4數(shù)據(jù)遷移

2018-05-04 14:11:34

SwiftPython開(kāi)發(fā)

2025-06-03 13:26:52

Sora視頻OpenAI

2020-06-12 11:03:22

Python開(kāi)發(fā)工具

2021-01-08 10:20:16

大數(shù)據(jù)網(wǎng)絡(luò)數(shù)據(jù)

2022-09-08 10:13:41

Web3

2020-02-23 16:33:02

GitHub印度子公司

2022-12-23 08:37:16

BigDecimaljava

2024-08-22 13:40:08

開(kāi)發(fā)者GPT-4oepoch
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)