簡體   English   中英

pip 安裝不會從 setup.cfg 安裝本地模塊/包

[英]pip install does not install local module/package from setup.cfg

我有以下 Pipfile 和 setup.cfg,當我執行pip install -e. 它在install_requires下安裝軟件包,但不安裝本地 package。

點文件——

[[source]]
url = "https://${USERNAME}:${PASSWORD}@${HOST}"
verify_ssl = true
name = "python"

[packages]
    my-cli = {editable = true, path = "."}

[dev-packages]

[requires]
python_version = "3.9"

設置.cfg --

[metadata]
name = my-cli
version = 0.1.0
[options]
include_package_data = True
install_requires =
   click
   PyYaml
   jsonschema

[options.package_data]
mymodule.resources = *.*

當我運行pip list時,我只能看到以下內容:

Package      Version   Location
------------ --------- -------------------------
click        8.0.3
PyYaml       3.13
jsonschema   4.1.2

但我看不到 my-cli package。

Pipfilepipenv使用,而不是由常規/普通 pip 使用。

請參閱https://pipenv.pypa.io/en/latest/basics/#example-pipfile-pipfile-lock

示例 Pipfile 和 Pipfile.lock

Pipfiles 包含項目依賴項的信息,並取代了大多數 Python 項目中使用的 requirements.txt 文件。 您應該在 Git 存儲庫中添加一個 Pipfile,讓克隆存儲庫的用戶知道唯一需要的就是在機器上安裝 Pipenv 並鍵入pipenv install Pipenv 是使用 Pipfile 的參考實現。

正在做

pip install -e .

不會讀取您的 Pipfile。

您需要改為使用

pipenv install -e .

安裝您的可編輯依賴項並將其添加到Pipfile

或者

pipenv install

如果可編輯的依賴項已經在 Pipfile 中並且您只希望pipenv執行安裝操作。

無論哪種方式, pipenv都會安裝您的可編輯依賴項 ( my-cli ) 及其在setup.cfgsetup.pypyproject.toml中定義的所有必需依賴項(遵循打包 Python 項目文檔中的規則)。

你可以做pipenv graph來查看已安裝的包

sample-module$ pipenv graph
my-cli==0.1.0
  - click [required: Any, installed: 8.0.3]
  - jsonschema [required: Any, installed: 4.3.3]
    - attrs [required: >=17.4.0, installed: 21.4.0]
    - pyrsistent [required: >=0.14.0,!=0.17.2,!=0.17.1,!=0.17.0, installed: 0.18.0]
  - PyYaml [required: Any, installed: 6.0]

它顯示了package_requires中列出的包是my-cli的子依賴項。

根據您的評論

現在問題已解決,基本上 pip 安裝發生在 ubuntu 映像中,並最終啟用了 venv,“RUN apt-get update && apt-get install -y python3.9-venv”“RUN python3 -m venv /opt /venv"

偉大的。 Python 的內置venvpipenv 都提供了一種創建和維護虛擬環境的方法。 您可以從它的 基本用法教程中了解pipenv 我想說的主要區別是 pipenv 維護一個 Pipfile 和一個 Pipfile.lock 來跟蹤虛擬環境的包。

使用哪個更方便。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM