如何将 Python 模块封装到单个文件中?
通常情况下,你无法将 Python 模块封装到单个文件中。因为这样做会破坏 Python 使用的文件和目录模块搜索机制。如果你由于权限不足而无法在机器上安装模块,你可以使用 virtualenv 或将模块文件保存到另一个目录,并使用以下代码允许 Python 在给定的模块中搜索模块。
>>> import os, sys >>> file_path = 'AdditionalModules/' >>> sys.path.append(os.path.dirname(file_path)) >>> # Now python also searches AdditionalModules folder for importing modules as we have set it on the PYTHONPATH.
你也可以使用 virtualenv 创建一个隔离的本地 Python 环境。要解决的基本问题是依赖项和版本问题,间接地还有权限问题。假设你有一个应用程序需要 LibFoo 的 1.0 版本,而另一个应用程序需要 2.0 版本。你如何同时使用这两个应用程序?如果你将所有内容都安装到 /usr/lib/python2.7/site-packages(或你平台的标准位置),很容易出现意外升级不应该升级的应用程序的情况。这也可以用于我们无法在机器上安装包因为我们没有权限的用例。有关 virtualenv 的更多信息,请阅读文档:https://virtualenv.pypa.io/en/stable/
广告