【问题标题】:What do I need for managing Python versions and libralies? [closed]管理 Python 版本和库需要什么? [关闭]
【发布时间】:2018-08-18 14:41:28
【问题描述】:

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

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

有人说我们需要pyenvvirtualenv,其他人说我们只需要venv, 或者什么都不需要……

有点复杂。

我想如果我不使用像pyenv这样的版本控制工具,我在使用需要Python2的工具时会遇到麻烦,比如npm

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

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

【问题讨论】:

    标签: python virtualenv pyenv python-venv


    【解决方案1】:

    pyenv 管理不同的 Python 版本。如果您开发使用不同 Python 版本的多个项目,这将非常有用。如果您只想坚持使用 Python 3,则不必使用 pyenv

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

    我个人更喜欢virtualenvwrapper 而不是virtualenv。它使创建环境、向环境中添加一些自定义激活后逻辑(例如设置环境变量或更改工作目录)以及在活动环境之间切换变得非常简单。

    【讨论】:

    • pipenv 怎么样?
    • pipenv 可能会在不久的将来成为标准并取代 virtualenv 和 virtualenvwrapper。它基于将替换 requirements.txt 的新 Pipfile。但是,它仍处于积极的设计和开发阶段,对我来说太新了,无法在生产中使用。
    • 谢谢!我想知道venv是否比virtualenv好,因为venv是python3的默认工具?还是 virtualenv 更好?
    • 我想我使用pyenv 以防我需要Python2,并使用virtualenvvenv 来创建环境。
    • 是的,Python 3 中也有 venv,但我认为实际使用的人并不多。如果要使用 Python 2 和 Python 3,则需要 pyenv,否则只需 virtualenv/virtualenvwrapper/venv 即可。以下是所有这些选项的概览:stackoverflow.com/questions/41573587/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-17
    • 2014-04-05
    • 1970-01-01
    相关资源
    最近更新 更多