virtualenv 和使用带有 --ignore-installed 和 --user 选项的 pip install 有什么区别?
What's the difference between virtualenv and using pip install with --ignore-installed and --user options?
我正在浏览 pip 的文档,还查看了 virtualenv。如果我们设置 PYTHONUSERBASE
变量,并使用 --ignore-installed
和 --user
选项设置 运行 pip install
,我们基本上是在告诉 pip 下载本地文件夹中的包忽略全局站点包路径中存在的所有内容。据我了解,virtualenv 用于实现类似的目标。那我为什么要用virtualenv呢?如果我们只在我们的机器上处理单个 python 安装,是否有任何额外的好处?
virtualenv 制作一份单独的 python 安装和站点包的副本。假设我们今天写了一段代码并且它运行得很好。但是一个月后,我们出于某种原因更新了一个包(例如numpy)。现在可能由于更新,上个月运行的代码今天可能无法运行。所以,为了避免这种情况,我们使用 virtualenv.
注意:我是一名业余计算机程序员,对技术方面的了解不多。只是分享我所知道的.. :)
不同之处在于,一个用户可以拥有多个虚拟环境,每个虚拟环境都有不同版本的软件包及其依赖项。 pip install --user
一个用户只能拥有一个包的一个版本。
我正在浏览 pip 的文档,还查看了 virtualenv。如果我们设置 PYTHONUSERBASE
变量,并使用 --ignore-installed
和 --user
选项设置 运行 pip install
,我们基本上是在告诉 pip 下载本地文件夹中的包忽略全局站点包路径中存在的所有内容。据我了解,virtualenv 用于实现类似的目标。那我为什么要用virtualenv呢?如果我们只在我们的机器上处理单个 python 安装,是否有任何额外的好处?
virtualenv 制作一份单独的 python 安装和站点包的副本。假设我们今天写了一段代码并且它运行得很好。但是一个月后,我们出于某种原因更新了一个包(例如numpy)。现在可能由于更新,上个月运行的代码今天可能无法运行。所以,为了避免这种情况,我们使用 virtualenv.
注意:我是一名业余计算机程序员,对技术方面的了解不多。只是分享我所知道的.. :)
不同之处在于,一个用户可以拥有多个虚拟环境,每个虚拟环境都有不同版本的软件包及其依赖项。 pip install --user
一个用户只能拥有一个包的一个版本。