首页 > 解决方案 > 避免为每个项目安装 python/packages 版本。如何在不同项目之间共享包含包和 python 版本的路径?

问题描述

我正在使用 Windows 操作系统并隔离我的项目并跟踪 Python 版本和库版本,我有时使用 Anaconda,有时使用 Vagrant Machine(通常使用 Ubuntu 18.04),具体取决于项目。

当我使用Vagrant模拟 Ubuntu 18.04 时,我总是必须为该项目的虚拟环境文件夹中的每个新项目一遍又一遍地安装相同的包,我想知道是否有更好的解决方案不这样做并且仍然保持跟踪的版本。你能给我一些建议来帮助我吗?(如果可以的话,如果您也可以分享一个教程链接来做到这一点,那就太棒了)

有没有办法让我跟踪 *.txt 文件(如requirements.txt文件)上的 python 和库版本,并通过该工具使其在单个路径中搜索该包版本,共享包含 python 版本和库版本的单个文件夹在我拥有的每个项目中,而不必在该特定项目文件夹中重新安装包?

如果有,我是否仍然可以将包含这些包和我正在使用的 python 版本的虚拟环境推送到 git 而不将其与我安装的其他版本混合?我不想将虚拟环境文件存储在我的计算机中,但是当我将它推送到 GitHub 时,我仍然希望它在我的项目中可用。

非常感谢

标签: pythonvagrant

解决方案


有一种方法可以创建已安装 Python 包的列表。您可以使用

$ pip list --format=freeze > installation_list.txt

这将导出带有版本的软件包列表并将它们保存到文本文件中。除了冻结,您还可以使用JSONlegacy作为有效的列表格式。

您可以使用$ pip install -r installation_list.txt从给定的依赖项进行安装。

用于将这些文件推送到 git 而不与其他版本混合。我建议为这些版本创建一个单独的分支并推送。它将更容易维护不同的版本而没有任何冲突。每当您想要时,您都可以通过以下方式更改该分支

git checkout -b <branch name>

如果需要,为该遥控器创建新的来源。


推荐阅读