您好我在OSx Mavericks上,使用python 2.7和pip版本6.0.8以及setuptools版本12.2。
当我尝试安装我的项目时,我收到警告消息但成功安装
$ python setup.py install --user
如果我使用distutils,我会得到以下消息,可能它的设置没有kwarg entry_points。 /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py: 267:UserWarning:未知的分发选项:'entry_points' warnings.warn(MSG)
但是当我尝试使用以下方式使用pip进行安装时,我收到以下错误消息并且安装不会继续:
$ pip install --user --editable .
如果我使用pip,即使我安装了distutils设置,也会收到以下错误消息。
Obtaining file:///Users/Me/Development/pyclones/git-maildiff
error in maildiff setup command: ("EntryPoint must be in 'name=module:attrs [extras]' format", 'git-maildiff=scripts.git-maildiff')
Complete output from command python setup.py egg_info:
error in maildiff setup command: ("EntryPoint must be in 'name=module:attrs [extras]' format", 'git-maildiff=scripts.git-maildiff')
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /Users/Me/Development/pyclones/git-maildiff
虽然我打电话给这样的设置
setup(
name='maildiff',
version=VERSION,
author='Sanjeev Kumar',
author_email='myemail@gmail.com',
packages=['emaildiff', 'emaildiff/mail',],
py_modules=['maildiff_cmd', 'version', 'send'],
data_files = ['VERSION'],
scripts=['scripts/git-maildiff'],
license='LICENSE',
description='Package to email color git diff',
long_description=open('README.md').read(),
entry_points={
'console_scripts':
['git-maildiff=scripts.git-maildiff']
}
)
任何人都可以帮助我为什么我得到这个,我更喜欢用pip,因为我可以使用pip稍后卸载它,但我认为它们不是像setup.py卸载或删除的任何命令。
答案 0 :(得分:20)
您在这两行中定义的入口点:
'console_scripts':
['git-maildiff=scripts.git-maildiff']
中有-
,我不确定是否支持(git-maildiff
不是有效的Python模块名称)。此外,它错过了要调用的函数名称:main
。
您可以先尝试添加main
:
'console_scripts':
['git-maildiff=scripts.git-maildiff:main']
如果这不起作用,请重命名脚本以删除-
。我认为您仍然可以将git-maildiff
作为入口点名称,只需重命名模块:
'console_scripts':
['git-maildiff=scripts.git_maildiff:main']
这应该为您提供一个调用git-maildiff
模块的git_maildiff
脚本。您也必须自己重命名模块文件。