Python 如何创建和使用全局实用程序模块?

Python 如何创建和使用全局实用程序模块?,python,Python,我想用实用程序方法和类创建一个全局可访问的模块。它将用于各种项目,因此我不希望该模块特定于任何一个项目。显然,我可以将目录复制到每个新项目中,但我想知道是否有更好的方法。对于这种情况,最佳做法是什么?通常的处理方法是使用pip在您使用的每个虚拟环境中安装软件包。如果您还没有使用virtualenvs,那么您可以通过将模块或包安装在Python解释器的site packages目录中,使其可用 要使包pip可安装,您必须克服许多复杂问题,因此,您可以放心地知道,出于许多目的,只需将模块复制到站点包

我想用实用程序方法和类创建一个全局可访问的模块。它将用于各种项目,因此我不希望该模块特定于任何一个项目。显然,我可以将目录复制到每个新项目中,但我想知道是否有更好的方法。对于这种情况,最佳做法是什么?

通常的处理方法是使用pip在您使用的每个虚拟环境中安装软件包。如果您还没有使用virtualenvs,那么您可以通过将模块或包安装在Python解释器的site packages目录中,使其可用

要使包pip可安装,您必须克服许多复杂问题,因此,您可以放心地知道,出于许多目的,只需将模块复制到站点包中就足够了

如果您对Python安装不够熟悉,不知道站点包的位置,以下代码段可能会有所帮助:

>>> import sys
>>> for p in sys.path:
...   print(p)
...

/usr/local/anaconda3/envs/general/lib/python36.zip
/usr/local/anaconda3/envs/general/lib/python3.6
/usr/local/anaconda3/envs/general/lib/python3.6/lib-dynload
/usr/local/anaconda3/envs/general/lib/python3.6/site-packages
/usr/local/anaconda3/envs/general/lib/python3.6/site-packages/aeosa
>>>

为什么不导入?您可以将模块的可能副本上载到pypi或其他软件包存储库,然后从那里提取它。虽然从你们所说的,听起来你们想要的是把它变成一个子模块。查找git子模块。这可能不是pythonic,但我创建了一个用于导入的模块,并将其放置在一个文件夹中,然后将该文件夹添加到我的PATH环境中,因为我很懒。然而,更具Python风格的方法是在正确的Python lib路径下正确地创建和安装您自己的模块,例如lib/site packagesA quick-n-dirty方法就是将模块放入/复制到Python/lib/site packages目录中。更正式一点,您可以为执行此操作的模块编写setup.py脚本。