Python的模块只是一个.py
源代码文件。而Python的包则是一组模块的集合。
那么为什么我们需要像pip
这样的程序来“安装”Python模块呢?为什么不只需下载文件,将它们放入我们项目的文件夹中并import
它们呢?
“安装”一个模块或一个包到底意味着什么?pip
又具体做了些什么呢?
在Windows和Linux上会有不同吗?
Python的模块只是一个.py
源代码文件。而Python的包则是一组模块的集合。
那么为什么我们需要像pip
这样的程序来“安装”Python模块呢?为什么不只需下载文件,将它们放入我们项目的文件夹中并import
它们呢?
“安装”一个模块或一个包到底意味着什么?pip
又具体做了些什么呢?
在Windows和Linux上会有不同吗?
在您的提案中,对于每个项目,您都必须下载所需的模块作为依赖项。您必须一遍又一遍地下载它们,并将它们添加到您的项目中,这并不是非常合适的做法,尽管像node.us这样的平台可以这样做。
Pip 的作用是将您安装的模块保存在 /use/lib/python*/site-packages/ 中,因此它明显包含在您的 Python 路径中。因此,当您尝试导入模块或包时,它会在 site-package 中检查是否存在。如果存在,则该代码将与您的项目一起使用。如果不存在,则会出现错误。
pip
是一个工具,用于从中央仓库下载模块以及依赖项(类似于 Java 的 Maven)吗? - Aviv Cohn.<vcs>ignore
每个依赖项或者用不属于你的代码填充你的存储库。那么如何保持这些依赖项的最新状态呢? - jonrsharpepip
是一个用于下载文件并将它们放置在正确位置的工具。 - Simeon Visserpip
不仅仅只能做那些事情。它会执行一个模块的setup.py
,在某些情况下(例如numpy
)可能涉及一些实际的编译等操作。 - greschdpip
的设计初衷是为了快速下载软件包并方便安装。install
意味着将所有文件复制到路径中。但是,打开Web浏览器,查找软件包或模块,下载并解压缩...还是只需要一行命令。你更喜欢哪个? - Remi Guan