具有多个函数的可执行Python程序(MacOS)

具有多个函数的可执行Python程序(MacOS),python,macos,python-2.7,Python,Macos,Python 2.7,我想寻求有关Python的建议 我使用Python创建了一个main.py,它调用多个函数,这些函数位于单独的Python脚本文件中。我想在MacOS中创建可执行文件,我发现了以下命令: chmod +x main.py 然而,由于main.py调用了另一个函数,所以我无法运行,因为它给了我一个错误。请告知如何将这些函数脚本链接到主脚本 谢谢。我不确定问题出在哪里,因为没有太多细节,我将从头开始: 命令chmod+x main.py向系统指示文件main.py是一个可执行文件。由于main.p

我想寻求有关Python的建议

我使用Python创建了一个main.py,它调用多个函数,这些函数位于单独的Python脚本文件中。我想在MacOS中创建可执行文件,我发现了以下命令:

chmod +x main.py

然而,由于main.py调用了另一个函数,所以我无法运行,因为它给了我一个错误。请告知如何将这些函数脚本链接到主脚本


谢谢。

我不确定问题出在哪里,因为没有太多细节,我将从头开始:

命令
chmod+x main.py
向系统指示文件
main.py
是一个可执行文件。由于
main.py
不是一个可以执行的程序,因此您必须告诉OSX如何运行您创建的脚本。这就是shebang的用武之地

在脚本顶部,您需要放置以下行:

#!/usr/bin/env python
这将告诉您的计算机将
main.py
脚本传递给python执行

现在谈谈进口商品。当您使用
import
语句时,Python将查看以下位置:

包含输入脚本的目录(或未指定文件时的当前目录)

PYTHONPATH
(目录名列表,语法与shell变量
PATH
相同)

与安装相关的默认设置

因此,如果您有一个带有函数
bar
的模块
foo.py
,并将
foo.py
放在与
main.py
相同的目录中,您可以在
main.py
脚本中执行以下操作

#!/usr/bin/env python
import foo
foo.bar() <-- this will run the bar function defined in foo.py
#/usr/bin/env python
进口食品

foo.bar()“我无法运行,因为它给了我错误”。错误是什么?嗯,从script1导入function1,然后是function1()?
#!/usr/bin/env python
from foo import bar
bar() <-- this will run the bar function defined in foo.py