我想了解 Python 虚拟环境是如何工作的。我得到了对它的需求,有不同的安装和不同的版本。
我的问题是:
我尝试进行实验,但在文档中找不到除了创建和包安装之外的任何内容。
编辑: 注意:对我来说,即使是部分答案(至少一个问题)也会有用并被接受,直到提供模式完整的答案。
您可能会认为需要
activate
shell 脚本来激活虚拟环境,但事实并非如此。环境在脚本中处于活动状态只是因为使用正确的 python 解释器运行脚本,即来自虚拟环境的 bin
目录的解释器。因此,您需要做的就是在脚本的 shebang 行中硬编码解释器的完整路径名。
不,正如@c-fennell 所写,你不能完全按照你的要求去做。但是,当您在虚拟环境中安装软件包时,您可以限制安装的版本。确切的方法取决于工具——使用
pip
可以在命令行上设置,一些更复杂的工具需要在配置文件中。
与其他一些开发环境(我认为是node.js?)不同,python venvs 确实需要每个包的唯一版本。处理依赖冲突并为所有包版本找到全局解决方案是高级打包工具的主要目的——例如
poetry
、pipenv
或pdm
。