1. 程式人生 > >Python 包管理

Python 包管理

comm 安全 沒有 安裝 豆瓣 -o ces pack 流程

安裝途徑

根據 [1],安裝途徑有:

  • PyPI 或其他索引地址。PyPI 是最常用的,也是默認的包索引,所有人都可以獲取包和上傳他們自己的包。其他索引地址可以是豆瓣源,甚至是自己搭建的包索引地址
  • 從版本控制器安裝,比如 GitHub、GitLab
  • 從本地安裝,格式可以是:源分發包(sdist)、wheel 包、源文件的壓縮文件

升級包

如果是從 PyPI 上升級包,我們只需要更改包的版本號就可以。但實際上整個流程是:

  • 包的維護者修改代碼
  • 更改版本號,發布到 PyPI

維護自己的包

正常維護

像正常的包一樣維護:

  • 改動代碼
  • 修改版本號,發布到 PyPI

這樣使用者只需要更改版本號就能升級。

使用者部署時不需要對該包做額外處理。

Git submodule

將包作為 submodule 添加到要使用的項目中,然後手動安裝,包的版本通過 submodule 的 commit 與版本號來追蹤。

部署時需要在具有該包 git 權限的機器上將 submodule 打包,然後上傳到部署機器,因為一般的部署機器沒有 git 權限。

如果只通過 commit 來追蹤,由於這裏存在將 submodule 打包再安裝,所以如果要安裝最新的 submodule,要麽更新 submodule 的版本號或者強制重新安裝 submodule 即使版本號一樣。

內部使用的包

如果不希望包暴露到外部,那麽可以使用『 Git submodule』或修改『正常維護』。

修改『正常維護』

  • 將包上傳到安全的地址
  • 如果部署機器可以訪問上述地址,那麽可以拉取下來再安裝或者從其他源安裝
  • 如果部署機器不可以訪問上述地址,那要在可以訪問上述地址的機器上將包上傳到部署機器再安裝

參考

  1. https://packaging.python.org/tutorials/installing-packages/

Python 包管理