【问题标题】:Python EcosystemPython 生态系统
【发布时间】:2019-06-07 04:07:25
【问题描述】:

我对 Python 还很陌生,但不是编程,我对 Python 生态系统有一些疑问,如果有人能给我一些启发的话。我的大部分 Python 经验都是在 Windows 计算机上进行的。我安装了 python3 和 pycharm 并且没有任何问题。然后,我决定在我的 MacBook 上完成一些工作,需要安装 python 3,而不是当前安装的 python 2。那是我掉进兔子洞的地方。

我去了 python 网站并安装了 python 3。然后有人建议我使用 HomeBrew 安装它。所以我不太了解 Homebrew。我的理解是,它是 macOS 的包管理器。基本上就像 pip 之于 python,homebrew 之于 macOS?如果我只是在没有自制软件的情况下安装 python 3,我可以在终端中将它称为 Python3 asdfasdf 并且它可以正常工作,不是吗?另外,我一直看到的这些 PATH 信息是什么?

另外,如果我要通过终端使用 pycharm 而不是 python 编译器,我什至需要自制软件,因为 pycharm 不是通过 pip 管理所有内容吗?我注意到一个叫做 pip3 的东西……那是什么?在 Windows 中,我只是输入了 Python -m pip install asdf 并且效果很好。我假设,键入 python3 -m pip install 会安装到 python3 目录,除非我遗漏了什么?

那么,这让我找到了一些关于虚拟环境的信息,但我不明白发生了什么。我主要用 java 开发,从来不需要创建虚拟环境或使用 homebrew 之类的东西。任何信息都会很棒!抱歉,帖子太长了。

【问题讨论】:

  • 欢迎来到 StackOverflow!请不要通过邮件提出多个问题。另外,尽量让你的问题简短,它目前被不必要的细节所淹没。如需更多提示,请阅读how to ask 部分!

标签: python macos homebrew


【解决方案1】:

然后有人建议我使用 HomeBrew 安装它。所以我不 真的懂 Homebrew... 就像 pip 之于 python,homebrew 之于 macOS?

Homebrew 是 MacOS 的包管理器,你当然可以看一下 pip 对 python 的意义。两者都管理包,无论是设置路径、安装还是删除。 Homebrew 比必须自己创建包目录和 PATHS 方便得多。我强烈推荐使用它,他们有大量优秀的documentation 可以帮助您。

另外,我一直看到的这些 PATH 信息是什么?

Lindes 非常详细地回答了这个问题here。简而言之,就是可以找到可执行文件的目录位置。

我注意到一个叫做 pip3.... 的东西是什么?

pip3 用于为 python3 而不是 python2 安装包。使用 python3 构建时仅使用 pip 安装包会导致不兼容。

另外,如果我通过以下方式使用 pycharm 而不是 python 编译器 终端我什至需要自制软件,因为 pycharm 无法管理 一切都通过 pip 吗?

Pycharm 是一个 IDE,IDE 能否成为包管理器的良好替代品值得怀疑。

...这让我找到了一些关于虚拟环境的信息,我 不明白怎么回事了。

This has also been answered in great detail.

【讨论】:

    【解决方案2】:

    PyCharm(默认情况下)为每个项目创建一个虚拟环境。本质上,整个 Python 语言解释器的全新安装被复制到您的项目文件夹中。这样您就可以准确控制项目需要使用哪些包,避免过度拥挤已安装的包,并避免任何命名空间冲突。

    查看here 以获取有关如何从命令行设置此类 virtualenv 的说明。

    Here 是关于 Homebrew 和 Pip 之间差异的 SO 问题。

    【讨论】:

      【解决方案3】:

      将 pip 类比为 Homebrew 的子集更准确,因为 Homebrew 管理的不仅仅是 Python。事实上,Homebrew 相当于 RPM (Linux)。没有直接的 Windows 等价物,但 Windows 应用商店或 Steam(如果你玩游戏的话)有点类似。

      pip3 只是 pip 的 Python3 版本。

      最后,Python 中的虚拟环境有点酷。创建 venv 时会发生什么,只是移动了基础 Python。由于您可以使用 Python2 或 Python3(或每个版本的多个不同版本),因此您可以在 venv 中获得该版本。因此,您不必担心 venv 中的 python vs python3 或 pip vs pip3。

      另外,最初,venv 不包含任何其他包。您可以在该 venv 中安装所需的软件包。由于某些包可能会与其他包发生碰撞,因此这非常有用。

      希望这会有所帮助。我只是自己去了那些兔子洞。哈哈!

      【讨论】:

        猜你喜欢
        • 2019-01-26
        • 2023-03-31
        • 2018-07-14
        • 1970-01-01
        • 1970-01-01
        • 2018-07-02
        • 2012-05-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多