Python 生态系统
Python Ecosystem
我是 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 开发,从来不需要创建虚拟环境或使用任何类似自制软件的东西。任何信息都会很棒!抱歉有点长 post.
PyCharm(默认情况下)为每个项目创建一个虚拟环境。本质上,整个 Python 语言解释器的全新安装被复制到您的项目文件夹中。这样您就可以准确控制项目需要使用哪些包,避免安装的包过度拥挤,并避免任何命名空间冲突。
查看 here 以获取有关如何从命令行设置此类 virtualenv 的说明。
是关于 Homebrew 和 Pip 之间差异的 SO 问题。
将 pip 类比为 Homebrew 的子集更为准确,因为 Homebrew 管理的不仅仅是 Python。事实上,Homebrew 相当于 RPM (Linux)。没有直接的 Windows 等价物,但 Windows Store 或 Steam(如果你玩游戏)有点类似。
pip3 只是 pip 的 Python3 版本。
最后,Python 中的虚拟环境有点酷。当你创建一个 venv 时会发生什么,只是基础 Python 被移动了。由于您可以使用 Python2 或 Python3(或每个的几个不同版本),因此您在 venv 中获得的只是那个版本。因此,您不必担心 venv 中的 python 与 python3 或 pip 与 pip3。
此外,最初,venv 不包含任何其他包。你可以只在那个 venv 中安装你需要的包。由于某些包可能会与其他包发生冲突,因此它非常有用。
希望这对您有所帮助。我自己就去了那些兔子洞。哈哈!
Then someone recommended I install it using HomeBrew. So I don't
really understand Homebrew... it's like what pip is to python, what homebrew is to macOS?
Homebrew 是 MacOS 的包管理器,你当然可以看一下 pip 对 python 的意义。两者都管理包,无论是设置 PATHS、安装还是删除。 Homebrew 比必须自己创建包目录和 PATHS 方便得多。我强烈推荐使用它,他们有很多优秀的 documentation 可以帮助你。
Also, what is all this PATH information I keep seeing?
Lindes 非常详细地回答了这个问题 here。简而言之,它是可以找到可执行文件的目录位置。
I noticed something called pip3.... what is that?
pip3 用于为 python3 安装软件包而不是 python2。在使用 python3 构建时仅使用 pip 安装包将导致不兼容。
Also, if I were to use pycharm instead of the python compiler via
terminal would I even need homebrew because doesn't pycharm manage
everything via pip anyways?
Pycharm 是一个 IDE,IDE 能否很好地替代包管理器值得怀疑。
...that led me to find some information about virtual environments and I
don't understand what's going on anymore.
.
我是 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 开发,从来不需要创建虚拟环境或使用任何类似自制软件的东西。任何信息都会很棒!抱歉有点长 post.
PyCharm(默认情况下)为每个项目创建一个虚拟环境。本质上,整个 Python 语言解释器的全新安装被复制到您的项目文件夹中。这样您就可以准确控制项目需要使用哪些包,避免安装的包过度拥挤,并避免任何命名空间冲突。
查看 here 以获取有关如何从命令行设置此类 virtualenv 的说明。
将 pip 类比为 Homebrew 的子集更为准确,因为 Homebrew 管理的不仅仅是 Python。事实上,Homebrew 相当于 RPM (Linux)。没有直接的 Windows 等价物,但 Windows Store 或 Steam(如果你玩游戏)有点类似。
pip3 只是 pip 的 Python3 版本。
最后,Python 中的虚拟环境有点酷。当你创建一个 venv 时会发生什么,只是基础 Python 被移动了。由于您可以使用 Python2 或 Python3(或每个的几个不同版本),因此您在 venv 中获得的只是那个版本。因此,您不必担心 venv 中的 python 与 python3 或 pip 与 pip3。
此外,最初,venv 不包含任何其他包。你可以只在那个 venv 中安装你需要的包。由于某些包可能会与其他包发生冲突,因此它非常有用。
希望这对您有所帮助。我自己就去了那些兔子洞。哈哈!
Then someone recommended I install it using HomeBrew. So I don't really understand Homebrew... it's like what pip is to python, what homebrew is to macOS?
Homebrew 是 MacOS 的包管理器,你当然可以看一下 pip 对 python 的意义。两者都管理包,无论是设置 PATHS、安装还是删除。 Homebrew 比必须自己创建包目录和 PATHS 方便得多。我强烈推荐使用它,他们有很多优秀的 documentation 可以帮助你。
Also, what is all this PATH information I keep seeing?
Lindes 非常详细地回答了这个问题 here。简而言之,它是可以找到可执行文件的目录位置。
I noticed something called pip3.... what is that?
pip3 用于为 python3 安装软件包而不是 python2。在使用 python3 构建时仅使用 pip 安装包将导致不兼容。
Also, if I were to use pycharm instead of the python compiler via terminal would I even need homebrew because doesn't pycharm manage everything via pip anyways?
Pycharm 是一个 IDE,IDE 能否很好地替代包管理器值得怀疑。
...that led me to find some information about virtual environments and I don't understand what's going on anymore.