Python 包管理
阿新 • • 發佈:2018-05-04
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』或修改『正常維護』。
修改『正常維護』
- 將包上傳到安全的地址
- 如果部署機器可以訪問上述地址,那麽可以拉取下來再安裝或者從其他源安裝
- 如果部署機器不可以訪問上述地址,那要在可以訪問上述地址的機器上將包上傳到部署機器再安裝
參考
- https://packaging.python.org/tutorials/installing-packages/
Python 包管理