如何使用pip安装本地克隆的fork仓库适配本地开发与生产部署
本地克隆fork仓库的开发安装方法
你设想的pip install <本地克隆仓库路径>的安装方式是完全可行的,这本身就是pip原生支持的能力。
- 普通安装模式:直接执行
pip install <本地仓库的相对/绝对路径>,pip会把本地仓库按照打包规则构建成Python包,安装到当前激活的Python环境中,和从PyPI安装第三方包的效果没有区别。 - 可编辑开发模式:如果要实现“修改本地仓库代码后,开发项目里的依赖即时生效、不用反复重装”的效果,直接加
-e参数执行:pip install -e <本地仓库路径>。这个模式不会把仓库源码复制到环境的site-packages目录,而是直接创建软链接指向你本地的仓库源码目录,修改代码的效果会直接同步到开发环境,刚好匹配你不想每次改完代码就先push到远程仓库的开发习惯。
举个实际操作的例子,假设你把fork的仓库克隆在当前用户目录下的code/custom-auth-repo文件夹里,对应的可编辑安装命令就是:
pip install -e ~/code/custom-auth-repo
开发阶段的文件管理注意事项
- 不要把本地仓库路径直接写入公共使用的
requirements.txt。本地路径是和你自己开发机的目录结构绑定的,协作者拉取项目、或者后续部署到服务器时,都会因为路径不存在导致依赖安装失败。 - 可以单独维护一份仅本地开发使用的依赖文件,比如命名为
requirements-local-dev.txt,把本地仓库的安装命令写在这份文件里,和线上生产用的依赖清单分开管理。
生产部署阶段的依赖配置
- 本地开发调试完成后,把修改好的仓库代码push到你自己fork的GitHub远程仓库对应分支上。
- 生产环境的
requirements.txt直接使用你熟悉的远程仓库语法配置即可,参考格式:-e git+https://github.com/你的GitHub用户名/你fork的仓库名.git@代码固定分支#egg=对应依赖的包名 - 如果遇到生产环境是内网隔离、没法访问外网GitHub的情况,也可以直接把服务器上对应的本地仓库路径写进
requirements.txt,只要保证执行pip安装时可以正常读取到对应路径下的仓库源码即可。
内容的提问来源于stack exchange,提问作者enchance
相关产品推荐
相关产品推荐

