簡體   English   中英

python entry_point 沒有模塊名稱 __main__

[英]python entry_point no module name __main__

我一直在嘗試為我的項目而不是 cli 設置一個新的入口點,我想啟動 main()。 我在 setup.py 中嘗試了幾種變體,但當它與 pip3 一起安裝時,似乎無法正確導入 main

這是 setup.py 中的入口點代碼(注意舊的 # 代碼之前使用 click for CLI 工作)

entry_points={
    'console_scripts': [
        'shenko = shenko.__main__:main',
    ],
},
# This was the old entry point to run shenko as command line
#entry_points={
#    'console_scripts': [
#        'shenko=shenko.cli:main',
#    ],
#},

這是源代碼; github代碼,查看setup.py

這是我得到的最后一個回溯;

Traceback (most recent call last):
File "/home/shenko/.local/bin/shenko", line 5, in <module>
from shenko.__main__ import main
ModuleNotFoundError: No module named 'shenko.__main__'

在 setup.py 中,我嘗試了以下代碼;

'shenko = shenko.__main__:main'
'shenko = shenko:main'
'shenko = shenko.main:main'

都沒有工作。 歡迎任何建議謝謝您的時間,這是最apreciated。

你沒有任何名為__main__東西。 它既不是__main__.py 也不是__init__.py的函數 相反,您有一個帶有函數main() 的模塊cli.py 所以試試這個:

entry_points={
    'console_scripts': [
        'shenko = shenko.cli:main',
    ],
},

確認使用@phd 的回答

'shenko = shenko.shenko:main'

shenko 文件夾調用shenko.py 調用main()

我遇到的問題是不相關的。

謝謝你對博士的幫助,我欠你一瓶啤酒!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM