为什么要安装Python软件包

为什么要安装Python软件包,python,anaconda,packages,Python,Anaconda,Packages,为什么我们必须在使用python包之前安装它们 我目前正在开发一个小型python mysql程序。我试图从mysql网页下载PythonConnector模块,然后简单地将其解压并放在代码的同一文件夹中 我可以正确导入模块 那么,安装这些软件包的意义是什么呢?我可以在不安装的情况下使用matplotlib、numpy等软件包吗 是否可以将所有必需的软件包安装在文件夹中,以便我可以将其移动到另一台计算机上,并在仅安装CPython的情况下运行我的程序(我不想在此计算机上安装任何软件包) 安装py

为什么我们必须在使用python包之前安装它们

我目前正在开发一个小型python mysql程序。我试图从mysql网页下载PythonConnector模块,然后简单地将其解压并放在代码的同一文件夹中

我可以正确导入模块

那么,安装这些软件包的意义是什么呢?我可以在不安装的情况下使用matplotlib、numpy等软件包吗


是否可以将所有必需的软件包安装在文件夹中,以便我可以将其移动到另一台计算机上,并在仅安装CPython的情况下运行我的程序(我不想在此计算机上安装任何软件包)

安装python包使我们能够在系统的任何地方使用它。如果我们只是将包放在与脚本相同的目录中,那么它可能很好地工作,但只适用于该目录中的脚本

有些软件包还依赖于其他软件包才能正常运行,安装软件包可能会为您安装这些必备的软件包。您可以手动执行此操作,但每次运行脚本时都必须将它们放在与脚本相同的目录中

因此,安装软件包是使用它们最简单的方法

您不必安装它们,而且在某些情况下,您不会在系统上安装它们;例如,如果您将代码拆分为两个文件,并在另一个文件的顶部导入一个文件。

这并不是那么简单:-)

  • 有些包有依赖项,您还需要下载并提取它们的依赖项(您需要pacakgex,而packagex使用y)pakcage manager处理这些依赖项
  • 有些包有一些c代码(它们需要在使用(ujson或postgres模块)之前编译),包管理器处理这些代码
  • 当您共享代码而不是共享依赖项时,只需添加一个包含依赖项列表的文件(
    requirements.txt
    ),其他用户只需使用package manager安装所有依赖项即可

事实上,您并不需要在系统上安装软件包。 但是如果您安装了它,您可以在系统的任何地方使用这些软件包。
此外,您还可以创建一个
requirement.txt
文件,以便在其他计算机上安装您需要的所有软件包。您可以查看本手册

当您解压缩到项目中的Python软件包依赖于另一个Python软件包时会发生什么情况?对于mysql,它不依赖于其他Python软件包,所以这很好。对于
mysq可能是这样l-connector
,但对于许多其他纯Python软件包(如
flask
)来说,这是不正确的。例如,numpy不能通过复制/粘贴安装,因为它使用
setup.py
文件编译了大量Cython代码。是否可以将软件包与这些必备软件包一起复制到我的程序文件夹中?我想移动所有的重新安装程序将所需的库和我的代码发送到只安装了Cpython的新计算机。这在很大程度上取决于软件包。最好的办法是根据需要在新计算机上重新安装软件包。是否可以避免安装任何依赖项?我想将所有依赖项和我的代码压缩到一个文件中,以便其他人可以简单地解压缩ip连接并直接运行我的程序,无需安装依赖项。检查此链接非常感谢