有没有办法让包作为脚本执行?例如:
[~]# easy_install /path/to/foo.egg
...
[~]# python -m foo --name World
Hello World
Run Code Online (Sandbox Code Playgroud)
我已经尝试__main__.py在我的包中创建一个文件,但它没有被执行(我使用的是Python 2.6).引发以下错误:
foo is a package and cannot be directly executed
Run Code Online (Sandbox Code Playgroud)
我的包的结构如下:
foo/
setup.py
foo/
__init__.py
__main__.py
Run Code Online (Sandbox Code Playgroud)
运行python -m foo.__main__ --name World按预期工作,但我更喜欢以前的执行方式.这可能吗?
我想从命令行制作一个可执行的 python 包。
我知道您可以使用chmod +x myfile.pywheremyfile.py开始#!/usr/bin/env使单个文件可执行./myfile.py。我还知道您可以python -m mypackage运行包含__main__.py.
但是,如果我将 shebang 行添加到__main__.py包中,运行chmod +x mypackage并尝试./mypackage,则会收到错误-bash: ./mypackage: Is a directory。
是否可以运行这样的包?
(要明确的是,我并不是在寻找像 py2exe 这样的东西来使其成为独立的可执行文件。我仍然期望它被解释,我只是想让启动更简单)