替换makefile以便为python项目集成多个python文件

时间:2018-02-01 22:13:56

标签: python linux unix makefile setup.py

在C / C ++中,我们为项目安装/执行编写了一个makefile。我们如何为python项目创建一个makefile或等价文件?

如果python是一种脚本语言,我们不需要makefile。我们如何将python项目与多个python文件(.py文件)集成?

还有另一个类似问题的主题 Call a function from another file in Python。但我的问题与该主题中提出的问题不同。通过从另一个文件调用函数,可以解决我的问题。但我想要一个更好的解决方案,如Simon所述。

4 个答案:

答案 0 :(得分:2)

c / c ++ makefile主要用于编译项目,python不需要它,因为它是一种脚本语言(未编译)。你的makefile需要什么样的操作?对于包管理,您可以阅读pip(一个常见的python包管理器)

答案 1 :(得分:2)

Python是一种脚本语言,这意味着不需要编译/重新编译,并且在运行脚本时会报告错误。这消除了使用make的最大资产之一。

虽然您可以使用makefile来替换命令行中的长命令或控制字典/文件,但您不太可能真的需要它。

如果您在Python项目中使用C / C ++,那么强烈推荐它。

你提到融合。 makefile不太可能是你想要的工具。您至少需要构建一个module

模块允许您使用其他python文件中的函数,就像它们在该文件中一样。你需要导入它们,而且非常重要。

如果要在其他PC上安装,请使用setup.py script创建一个包。这允许您使项目可安装,然后可以像使用Python的扩展一样使用项目。

Python不像C或C ++。只知道在哪里找到文件对于Python来说很好,当它们变成模块时,你只需要导入它们一次,你就可以使用它们提供的功能

答案 2 :(得分:2)

将几个python文件的项目安排到一个包中。 包可以意味着将多个文件放在一起,供其他人通过import package使用您的代码,或实际分发您的应用以供其他人使用。

首先只需创建一个包含py文件的文件夹,并在该文件夹中创建一个空的__init__.py。对于第一个和第二个方案,还请阅读文档here,也可以阅读here

答案 3 :(得分:0)

最好的模拟是执行文件的shell脚本。它可能包括处理任何复杂的参数,必要时设置环境变量。要包含其他.py文件,您可以将它们导入到主python文件中。但如果您有更高级的需求,我会建议第二个问题