从shell运行Python项目

0 投票
2 回答
901 浏览
提问于 2025-04-18 14:42

Eclipse可以运行一个完整的Python项目,而不仅仅是一个.py文件。有没有办法从Python 3.x的命令行运行整个项目呢?我查了一下,但没有找到合适的方法。我尝试用exec(open('bla/blah/projMain.py'))来运行主文件,就像运行任何Python文件一样。我的所有模块(包括主文件)都在一个包里,但当我运行主文件时,出现了no module named 'blah'(就是它所在的包名)的错误。另外,顺便提一下,确实有一个__init__.py文件,甚至还有一个pycache目录。

可能是我在Eclipse中的结构设置不对(或者说Eclipse没有正确设置),但Eclipse可以运行这个项目,那我该如何在Python 3.4.1的命令行中运行呢?我是不是需要在__init__.py里放点什么,然后再运行那个文件?

2 个回答

0

这要看你的文件是什么样的。如果你的代码里有一行 if __name__ == "__main__": do_whatever(),那么当你导入这个模块的时候,do_whatever() 是不会被执行的,因为导入的模块名字不会是 "__main__",而是模块本身的名字。

不过,如果你的代码只是一个简单的脚本,没有这种条件判断,那么你导入这个模块的时候,它就会被执行。Python 需要知道这个模块在哪里,所以如果它不在你的路径里,你就得用相对导入,具体的说明可以在 这里 找到。

0

根据目前的信息,我建议你在OSX系统上这样操作:

1) 打开 Terminal 应用

2) 进入 bla 文件所在的位置

3) 运行 python bla/blah/projMain.py

如果上面的步骤失败了,请把错误信息发给我们。

撰写回答