python-3.x - 安装后找不到入口点模块
问题描述
在我的 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'
请问有什么帮助吗?
解决方案
如果您正在使用setuptools.find_packages
,那么您需要有__init__.py
文件。此外,您正在使用所谓的src-layout,因此您需要调整package_dir
并设置.where
find_packages
参考:
推荐阅读
- html - 如何仅在文本的中心部分添加背景颜色?像粗删除线,但仅在背景中
- django - 在 Django 中更改 URL 后,让 html 标签更改其样式的最佳做法是什么?
- benchmarking - Google 的 `DoNotOptimize()` 函数如何强制语句排序
- java - 可以限制提交给线程池的任务数吗
- python - 使用 Dask 进行内存高效数据加载
- python - Pytesseract 和 OpenCV 无法检测数字
- javascript - 在不使用 Google Tag Manager Server 的情况下将同一数据层变量与 Google Tag Manager 一起使用的最佳做法
- ios - DateFormatter 以“dd/MM/yyyy”格式返回有效日期的 nil
- python - 调整 folium 弹出窗口的大小
- java - 使用 gmail smtp JAVA 通过代理发送电子邮件