你能在 venv 中升级虚拟环境吗?

你能在 venv 中升级虚拟环境吗?

我在 Ubuntu 14.04 中使用 venv,在我考虑清楚之前,我sudo apt-get upgrade在 venv 中使用了该命令。现在我想知道这是否是我虚拟环境的真正升级,我是否需要修复它?

答案1

Python 虚拟环境(“venv”)不会影响与 Python 无关的应用程序。

它只会将bin/包含可执行文件的 venv 目录添加到变量前面PATH。这会导致命令查找(例如)python解析为该目录而不是系统的可执行文件。此外,它还会更改 Python 使用的一些其他环境变量和别名。

这些变化都不会中断apt-get,也不可能影响系统包的管理方式。

总之,apt-get在 Python 虚拟环境中操作时运行或类似的东西是安全的。

如果需要,您可以检查bin/activate用于进入虚拟环境的 venv 目录中的脚本。这样您就可以准确地看到发生了什么变化。

答案2

仅当您使用该选项创建了虚拟环境时才是这样的--system-site-packages

运行会升级您之前使用 安装的sudo apt-get upgrade系统 Python 包(python-对于 Python 2 包以 为前缀,对于 Python 3 包以 为前缀) 。如果您的虚拟环境是使用 选项创建的,则它使用系统 Python 包,没有自己的站点包。在这种情况下,会升级您的虚拟环境,因为它使用的系统 Python 包也会升级。python3-apt-get--system-site-packagessudo apt-get upgrade

相关内容