【问题标题】:How to add console_script/entry point to setup.py that call a class function python如何将控制台脚本/入口点添加到调用类函数 python 的 setup.py
【发布时间】:2020-06-10 17:12:06
【问题描述】:

我想向 setup.py 添加一个调用类的静态方法的入口点。这可能吗,如果可以,怎么办?我已经尝试过,并查看了文档,但无法弄清楚如何去做。

示例: 包装格式:

mypackage/
   setup.py
   mypackage/
      test.py

test.py 包含:

class TestClass:
   @staticmethod
   test_func():
      print("test print statement")

setup.py 包含如下所示的控制台脚本:

entry_points={
        'console_scripts': [
            'run_console_script = mypackage.test:TestClass.test_func'
         ]}

但是当我运行上面的代码时,它并没有出错,而且什么也没有打印出来。

【问题讨论】:

  • tests 太多了。脚本真的叫test吗?它可能与现有的二进制文件test 发生冲突。另外,为什么不在脚本上运行pdb 调试器以查看发生了什么?
  • 已编辑以避免名称冲突,尽管我认为这不是问题
  • 脚本仍然命名为test。如果我只运行test,它会运行/usr/bin/test,它会静默结束。
  • 已编辑,因此它不会有任何同名的东西。

标签: python package setuptools setup.py distutils


【解决方案1】:

根据setuptools' documentation on "Automatic Script Creation"entry-points只能是函数:

使用此功能的方法是在设置脚本中定义“入口点”,指示生成的脚本应导入和运行的功能。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-23
    • 2017-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-13
    相关资源
    最近更新 更多