我需要什么来管理Python版本和库?

时间:2018-08-18 14:41:29

标签: python virtualenv pyenv python-venv

我是Python的新手,将在下一份工作中使用Python。

我现在正在使用pyenv对Python及其库进行版本控制,但是一些博客文章说我们不一定需要pyenv进行版本控制。

有人说我们需要pyenvvirtualenv,有人说我们只需要venv, 或者不需要...

有点复杂。

我认为,如果我不使用pyenv之类的版本控制工具,那么在使用需要Python2的工具(例如npm)时就会遇到麻烦。

  • 我只使用Python3
  • 我将在许多项目中进行开发,包括Web开发和使用Python进行数据分析
  • 我使用MacOS

在这些条件下,管理我的Python环境的最佳堆栈是什么?

1 个答案:

答案 0 :(得分:1)

pyenv管理不同的Python版本。如果开发使用不同Python版本的多个项目,这将很有用。如果仅使用Python 3,则不必使用pyenv

不同的虚拟环境包装器(virtualenvvirtualenvwrapper)帮助您隔离不同项目的Python环境。例如。如果您要使用requests库,则虚拟环境将使您能够在不同的项目中使用requests库的不同版本(例如,在某些时候,您可以在Project上更新到新的requests版本A,但决定保留项目B的旧版本)。即使您要处理单个项目,仍然建议您使用虚拟环境。

virtualenvwrapper相比,我个人更喜欢virtualenv。创建环境,在环境中添加一些自定义的后期激活逻辑(例如,设置环境变量或更改工作目录),以及在活动环境之间进行切换,都非常简单。