在 Python 中使用外部模块和库的方式有哪些?

What are ways of using external modules and libraries in Python?

Mark Lutz 的《学习 Python》一书指出,在 Python 中可以使用各种类型的外部模块,其中包括 .py 文件、.zip 档案, C/C++ 编译库等。我的问题是,人们通常如何处理每种类型模块的安装? 例如,我知道要使用 .py 模块,我只需要使用 import 定位它。 .dll.a 之类的东西怎么样?或者比如我在 GitHub 上发现了一个有趣的库,它没有安装手册。我如何知道要导入哪些文件? 另外,除了 pip 之外,还有其他安装模块的方法吗?

Also, are there any ways of installing modules besides pip?

是的,根据 Installing Python Modules (Legacy version) 使用 distutils 打包的模块应该下载、解压并命令

python setup.py install

或类似的应该是 运行。当心

The entire distutils package has been deprecated and will be removed in Python 3.12.

答案取决于您想做什么。 例如,您可以使用 Ninja 来使用 C++ 模块,使用 cython 来使用 C,几乎任何类型的编译代码都有各种包。 您可以通过 pip 使用 pypi 软件包存储库或使用内部具有 setup.py 文件的克隆存储库安装软件包。 任何其他基于 python 的 repo 都可以通过自定义构建脚本(他们将提供)或直接导入相关的 Python 文件来导入。这将需要您深入研究代码并检查相关文件。