hug*_*hes 3 python setuptools entry-point
我的项目目录结构如下所示:
clc
|-clc
| |-__init__.py
| |-clc.py
| |-main.py
|-setup.py
Run Code Online (Sandbox Code Playgroud)
main.py
看起来像这样:
def main():
print "it works!"
Run Code Online (Sandbox Code Playgroud)
在setup.py
:
config = {
...
'entry_points':
'clc_scripts': ['clc = clc.main:main']
}
}
setup(**config)
Run Code Online (Sandbox Code Playgroud)
当我跑步时python setup.py build
,我最终得到以下内容:
running build
running build_py
creating build
creating build/lib
creating build/lib/clc
copying clc/__init__.py -> build/lib/clc
copying clc/clc.py -> build/lib/clc
copying clc/main.py -> build/lib/clc
Run Code Online (Sandbox Code Playgroud)
bin
即使我指定了入口点,也没有创建文件夹.它确实创建了一个文件clc.egg-info/entry_points.txt
:
$ cat clc.egg-info/entry_points.txt
[clc_scripts]
clc = clc.main:main
Run Code Online (Sandbox Code Playgroud)
为什么setuptools没有创建我的入口点可执行文件?
1)调用生成脚本的入口点console_scripts
.
因此,请在此处修改入口点的名称setup.py
:
config = {
...
'entry_points':
'console_scripts': ['clc = clc.main:main']
}
}
Run Code Online (Sandbox Code Playgroud)
2) 只有您的发行版才会执行入口点build
.他们真的只对install
或有意义develop
.试试python setup.py install
.