首页 > 解决方案 > 将 python 包转换为单个可导入文件

问题描述

有没有办法将python包(即python文件的文件夹)转换为单个文件,可以复制然后直接导入python脚本而无需运行任何额外的shell命令?我知道可以压缩所有文件,然后在需要时从 python 中解压缩它们,但我希望有一个更优雅的解决方案。

标签: pythonpython-module

解决方案


问题是什么并不完全清楚。我可以用两种方式解释它。


如果您希望以更有条理的方式管理来自许多模块的符号:

您需要将一个__init__.py文件放在您的目录中并使其成为一个包。您可以在其中定义包的符号,并创建优雅的import packagename行为。的详细信息。


如果您希望将代码移植到另一个环境:

一种或另一种方式,该包需要在它运行的任何环境中都可以访问。这意味着它需要安装在 python 环境中(可能使用pip),复制到相对于正在运行的子目录中的位置代码,或在PYTHONPATH环境变量中列出的目录中。

打包代码并使其可移植的最直接方法是使用setuptools创建可以安装到任何 python 环境中的可移植包。Packaging Projects的手册页详细介绍了如何构建包存档,以及可选地上传到 PyPi 以进行公共分发。如果它是供私人使用的,则可以传递生成的存档而无需将其上传到公共存储库。


推荐阅读