首页 > 解决方案 > 安装后找不到入口点模块

问题描述

在我的 python 项目中,我有这个层次结构

+ slack_app
  + src
      + apps
         + intro
             + \__main__.py
             + slack_app.py
  + setup.py

这是我的 setup.py:

setup(
  name= "my-slack-app",
  packages = find_packages(),
  entry_points = {
        'console_scripts': [
            'slack-app = src.apps.intro.__main__:main',
        ],
})

__main__.py:

def main():
    print("WORKED")


if __name__ == "__main__":
    main()

我运行 python3 setup.py install,然后运行安装在 /usr/local/python3.6/bin 中的应用程序,但运行时总是出现此错误:

Traceback (most recent call last):
     File "/usr/local/python3.6/bin/slack-app", line 11, in <module>
    load_entry_point('my-slack-app==0.1.dev2+g4fd21b0.d20200309', 
   'console_scripts', 'slack-app')()
     File "/usr/local/python3.6/lib/python3.6/site- 
   packages/pkg_resources/__init__.py", line 490, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
   File "/usr/local/python3.6/lib/python3.6/site- 
   packages/pkg_resources/__init__.py", line 2854, in 
   load_entry_point
    return ep.load()
   File "/usr/local/python3.6/lib/python3.6/site- 
   packages/pkg_resources/__init__.py", line 2445, in load
    return self.resolve()
   File "/usr/local/python3.6/lib/python3.6/site- 
   packages/pkg_resources/__init__.py", line 2451, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], 
   level=0)
   ModuleNotFoundError: No module named 'src.apps'

请问有什么帮助吗?

标签: python-3.xinstallationsetup.py

解决方案


如果您正在使用setuptools.find_packages,那么您需要有__init__.py文件。此外,您正在使用所谓的src-layout,因此您需要调整package_dir并设置.wherefind_packages

参考:


推荐阅读