Python中没有.py的脚本模块?

2024-04-19 11:42:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我想要一个Python文件,其中包含名为“foobar”的代码,在安装包时作为脚本执行,如下所示:

$ foobar -i arg1 arg2

foobarsetup.py中声明为脚本。你知道吗

foobar文件还包含由包中其他模块导入的函数/类,因此有一个单独的文件quux.py导入foobar

(in `quux.py`):
import mypackage
import mypackage.foobar as foobar

我如何保持foobar而不使用.py扩展名,并在setup.py中将其声明为脚本,但仍然能够将其作为模块从另一个文件导入?这是正确的答案:Import a python module without .py extension,——还是有别的窍门?你知道吗


Tags: 模块文件函数代码pyimport脚本声明
1条回答
网友
1楼 · 发布于 2024-04-19 11:42:30

一般来说,这里的解决方案是将foobar.py作为一个模块,并使脚本简单到:

import foobar
foobar.main()

如果您正在使用setup.py(您可能应该这样做)安装模块,您也可以通过console_scripts入口点来执行此操作,如下所示:

entry_points={
    'console_scripts': [
        'foobar = foobar:main'
    ],
},

这将安装一个foobar命令,它大致相当于这个答案第一部分中的存根。你知道吗

相关问题 更多 >