这是一个非常具体的问题,所以我愿意接受有用的建议,这些建议可以帮助您解决问题。
我有一个 python 项目,它在配置为与 Pycharm 调试器一起工作的 docker 容器中运行。我有一个包,用 pip 安装在一个虚拟环境中,用于这个项目,我想开发它。
我还没有找到一种方法来将包链接到我的项目的 docker 容器中,这样我就可以更改包并在我的项目中更新代码。 目前,只要我不更改包中的任何代码,调试器就可以在进入包的代码路径上工作。
这两个问题结合在一起,很难在不反复安装的情况下测试对包的更改。
有没有更好的方法来实现这个目标?
请您参考如下方法:
鉴于应该协同工作的两个源代码树:
- 为他们创建一个虚拟环境,
python -m venv vpy。 - 激活它,设置相关的 shell 环境变量,
。 vpy/bin/activate. - 安装库,
cd library && pip install -e 。(-e使 pip 记住指向实时源代码树的指针。) - 安装应用程序,
cd app && pip install -e .。 (Pip 应该知道您已经安装了库。) - 做任何你需要做的,
$EDITOR file.py;测试; the_app; $SCM 提交。 - 一旦一切正常,
docker build && docker run。
我会将与 Docker 的任何交互留到最后,一旦您确信自己已经修复了库错误或构建了功能。这避免了你的编辑器和容器在路径上不一致的麻烦,这意味着你不需要 root 权限来进行任何普通的开发工作。
