作为 python 包开发人员,运行使用入口点的控制台脚本的过程是什么?
我有一个 python 项目,其中有setup.py
和。其中,我有一个
entry_points={
'console_scripts': [
'myscript=mypackage.myscript.__main__:main',
]
},
If I do python setup.py develop
, I do最终得到包装脚本virtualenv/bin
,但是当我运行它们时出现错误:
ImportError:找不到入口点('console_scripts','myscript')
(以上does如果我工作的话pip install .
)
现在,从项目顶部,我可以复制包装器脚本并手动执行以下操作:
$ python
Python 3.6.8 (default, Apr 25 2019, 21:02:35)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from pkg_resources import load_entry_point
>>> load_entry_point('mypackage', 'console_scripts', 'myscript')
<function main at 0x7f7b971bcea0>
>>>
所以,我从中得到的是virtualenv/bin/myscript
正在寻找virtualenv
对于该包,当我从开发环境顶部手动运行它时,它会在当前目录中查找包。
我不想用完它virtualenv
尽管。我不想做pip install .
每次我想尝试修改我的脚本时。
这里的预期工作流程是什么?手动运行python -m mypackage.myscript
?我宁愿像用户一样运行它。复制 virtualenv/bin 脚本?那么它们可能就会过时......
我无法在 setuptools 文档中找到开发工作流程的这方面。
update:
我确实在我的 virtualenv 中找到了这个setup.py develop
:
$ more virtualenv/lib/python3.6/site-packages/mypackage.egg-link
/home/me/src/mypackage.git
.