首页 > 解决方案 > 将 virtualenv 与 pyenv 或 docker 一起使用有什么好处?

问题描述

我最近加入了当前项目,并在自述文件中找到了这样的步骤(我无法与创建它的人联系):

# install pyenv
git clone git://github.com/pyenv/pyenv.git ~/.pyenv
...
pyenv install 3.7.9
pyenv global 3.7.9

# install venv
pip install virtualenv

# create virtual environment
source .venv/bin/activate

# install dependencies
pip install pipenv
pipenv install --dev

...

所以我的问题是:

  1. 在虚拟环境中使用虚拟环境的原因/利润是什么?
  2. 如果我们在 python 容器中运行应用程序,使用 pyenv 或 venv 的原因/利润是什么?使用 docker 的系统 pip/python 安装所有库不是更好的主意吗?Docker 容器已经是抽象层(虚拟环境)。

pyenv 已经创建了依赖于用户的环境,可以轻松删除/更改/重置而不影响系统 python 库

以其他方式使用 virtualenv 创建的环境仍然依赖于系统库,因此不能在服务器之间轻松移动。

也许这里有一些在服务部署时使用 venv 的好处或良好实践?

甚至localstack 也在 docker中使用 virualenv。docker隔离级别还不够吗?

标签: pythonvirtualenvpyenv

解决方案


推荐阅读