如何打包Python模块

时间:2015-06-18 05:59:52

标签: python module packaging

我是Python的新手,我一直在阅读LPTHW的练习:
http://learnpythonthehardway.org/book/ex46.html

作者对包装的解释非常模糊,所以我做了一些研究,但最后还是留下了一些问题。

首先,如果您有一个导入另一个模块的模块会发生什么?您是否将导入的模块放入包含第一个模块的目录的子目录中,或者放在根目录中的另一个单独目录中?

其次,一旦安装了整个软件包,如何运行bin文件夹中的任何脚本?

1 个答案:

答案 0 :(得分:2)

  

首先,如果您有一个导入另一个模块的模块会发生什么   模块?您是否将导入的模块放入了子目录中   包含第一个模块的目录,或另一个单独的目录   根目录中的目录?

模块只是一个包含Python代码的文件 - 您不需要将其放在单独的目录中。最简单的选择是将文件放在包含将要导入的模块的同一目录中。

如果你把它放在其他目录并且该目录不是包你根本无法导入它(除非你手动搞乱PYTHONPATH你不应该& #39; t)的

  

其次,一旦你安装了整个包,你如何运行   bin文件夹中的所有脚本?

执行此操作的方法是使用console_scriptssetup.py文件中指定应用程序的脚本。这样,当您的软件包安装完毕后,您的脚本将被正确构建并放置在目标平台上的正确目录中,以便您可以直接执行它们(不知道它们在文件系统上的位置)。

例如,您可以浏览setup.py file for the django project

如果要安装软件包,则无需知道实际脚本的位置 - 只需安装软件包并直接从提示符执行命令。