【发布时间】:2017-09-15 02:52:50
【问题描述】:
我在 CentOS-7 虚拟机上运行了一个小型 python 烧瓶应用程序,该应用程序在 docker 中运行,以及一个 nginx 反向代理。 requirements.txt 使用 git+ssh 引入了几个外部实用程序,例如:
git+ssh://path-to-our-repo/some-utility.git
我必须对实用程序进行更改,因此我将其克隆到本地,并且我需要该应用程序才能使用我的本地版本。 假设克隆和修改的实用程序位于本地目录中:
/var/work/some-utility
在 requirements.txt 我将条目更改为:
git+file:///var/work/some-utility
但是当我尝试使用
运行应用程序时sudo docker-compose up
我收到错误消息
Invalid requirement: 'git+file:///var/work/some-utility'
it looks like a path. Does it exist ?
我怎样才能让它使用我的“some-utility”的本地副本?
我也试过了:
git+file:///var/work/some-utility#egg=someutility
但这产生了同样的错误。
我看了PIP install from local git repository。
这与这个问题有关:
我想大多数人会说为什么不将一些实用程序的开发分支签入公司 git 存储库,但就我而言,我没有权限。
或者也许我的问题与docker有关,我需要将some-utility文件夹映射到docker容器中,然后使用该路径?我是一个码头菜鸟。
--- 编辑---
谢谢你的回答。我尝试将 some-utility 文件夹添加到 docker-compose.yml:
volumes:
- ./some-utility:/usr/local/some-utility
然后将 requirements.txt 改为
git+file:///usr/local/some-utility
但是我们本地的 git repo 刚刚停止维护,所以我将不得不等待它回来尝试这个。
=== 编辑 2 ===
进行上述更改后,在尝试构建我的端点应用程序时运行 docker-compose 时出现以下错误:
Cloning file:///usr/local/some-utility to /tmp/pip-yj9xxtae-build
fatal: '/usr/local/some-utility' does not appear to be a git repository
但是 /usr/local/some-utility 文件夹确实包含克隆的 some-utility 存储库,我可以去那里运行 git status。
【问题讨论】: