我成功地设置了一个Visual Studio Python项目。我现在想通过源代码控制(我工作的公司使用qazxsw poi)与其他开发人员分享这个项目。
因为我想避免我的每个同事都必须手动设置相同的Python环境,所以我研究了使用SVN。在我看来,这似乎与NPM模块在本地存储的方式非常相似。
没有太多麻烦,我设法建立了一个非常出色的虚拟环境。
但是,当我注意到“pyproj”文件包含对我本地虚拟环境的引用时,我准备将我的“虚拟环境”文件夹排除在检查SVN之外:
Virtual Environment
如果我删除“虚拟环境”文件夹并打开Visual Studio解决方案,我没有任何选项可以根据生成的“requirements.txt”文件恢复环境(如我所料)。除非我删除不工作的“虚拟环境”并添加一个全新的虚拟环境。
这让我相信我的工作流程或假设存在问题。
附注:
<ItemGroup>
<Interpreter Include="VirtualEnvironment\">
<Id>VirtualEnvironment</Id>
<Version>3.6</Version>
<Description>VirtualEnvironment (Python 3.6 (64-bit))</Description>
<InterpreterPath>Scripts\python.exe</InterpreterPath>
<WindowsInterpreterPath>Scripts\pythonw.exe</WindowsInterpreterPath>
<PathEnvironmentVariable>PYTHONPATH</PathEnvironmentVariable>
<Architecture>X64</Architecture>
</Interpreter>
,但根本没有提到Virtual Environments。在发布了Working with python in Visual Studio - Step 06 Working with Git后,我收到了issue on the MicrosoftDocs GitHub的以下回复:
在这个领域肯定有一些工作正在进行中。我们在这里寻找不同的设计以及更好地调整VS和VS代码的方法。
对于Visual Studio:Python项目文件中的虚拟环境的意图是您在项目目录中具有环境,因此它仅由相对路径引用。如果你还在你的项目中保留一个requirements.txt文件,那么只需要点击几下就可以在新机器上重新创建它(我们已经考虑过自动提示来帮助解决这个问题,但是大多数用户反馈表明我们还有其他需要修复的东西第一)。
所以我们的广泛建议是:
- 将“主”虚拟环境置于默认位置(项目文件夹中的env)
- 从版本控制中排除整个环境本身
- 将开发需求保留在requirements.txt文件中
- 使用正常的“添加虚拟环境”命令在新计算机上重新创建虚拟环境(具有默认位置和需求文件将使此更顺畅 - 我们将其从“缺失”更改为创建后立即找到)
显然可以自由地改变它们,因为它们是有意义的。您还可以创建一个不同的任务创建虚拟环境(例如运行zooba的批处理文件),我们仍然可以正常选择它而无需修改项目文件。
当我们在这里为整个流程进行改进时,应该更容易在某个地方拥有一个环境并使用它,而不必在项目中进行特定的配置设置。
恕我直言:最好的方法是有一个requirements.txt,并编写如何安装python env。在readme.txt中。
您将签到的是requirements.txt和自述文件。