将python包转换为单个可导入文件

时间:2019-07-09 23:24:21

标签: python python-module

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

1 个答案:

答案 0 :(得分:1)

目前尚不清楚问题是什么。我可以用两种方式解释它。


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

您需要将__init__.py文件放在目录中并将其打包。您可以在其中定义包的符号,并创建优美的import packagename行为。有关packages的详细信息。


如果您希望使代码可移植到其他环境:

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

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