【发布时间】:2022-01-17 10:28:52
【问题描述】:
我有一个项目和一个用诗歌创建的现有虚拟环境(poetry install/init)。 因此,据我所知,虚拟环境的目的是避免修改系统基础环境和隔离的可能性(每个项目、每个开发、每个系统等......)。
我怎样才能为我的诗歌项目创造另一个全新的环境?我如何最终复制和使用现有的?
我的意思是当前的(激活的)不应该参与这个(除了最终复制它),因为我想测试另一组依赖和代码。
我知道这一点:
- https://github.com/python-poetry/poetry/issues/4055(答案不清楚,票未关闭)
- https://python-poetry.org/docs/managing-environments/(使用命令似乎无法按要求的方式工作)
【问题讨论】:
-
对于相同的项目你想创建一个不同的环境吗?为什么?如果你想尝试不同的依赖关系,那么
add/remove根据需要它们,这些都记录在poetry.lock中。当您对新的依赖项感到满意时,将它们提交给版本控制。如果您不满意并想回滚,请使用版本控制和poetry install再次回滚锁定文件。基本上,锁文件代表你的环境;幕后创建的实际环境有些无关紧要和一次性。 -
嗨,deceze。我想修改一个或多个依赖项(不同版本)并尝试它是如何工作的,而不会丢失我的原始环境。添加和删除不适合这个。更新可以做到,但我不想改变原来实际工作的环境。
-
诗歌的意义在于它可以(据说)总是完全从一个锁定文件重新创建一个精确的工作环境。只要您保持该锁定文件完好无损(最好通过版本控制),就不必担心添加或删除。
-
@deceze 在构建代理上,“globale”venvs 可能在我不想使用或污染的地方。
-
为什么不直接将存储库克隆到不同的文件夹中,然后您可以在全新的诗歌虚拟环境中试用不同的依赖项。
标签: python virtualenv python-poetry