为什么我在安装时不断收到此消息,说EntryPoint必须位于'name = module:attrs [extras] [英] why do I keep getting this message when installing saying EntryPoint must be in 'name=module:attrs [extras]

查看:412
本文介绍了为什么我在安装时不断收到此消息,说EntryPoint必须位于'name = module:attrs [extras]的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在OSx Mavericks上,使用python 2.7和pip版本6.0.8和setuptools版本12.2.

Hi I am on OSx Mavericks, using python 2.7 and pip version 6.0.8 and setuptools version 12.2.

当我尝试安装我的项目时,我收到警告消息,但安装成功

When I try to install my project I get warning messages but installs successfully

$ 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)

if I use distutils I get below message which probably its setup doesn't have kwarg entry_points. /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py: 267: UserWarning: Unknown distribution option: 'entry_points' warnings.warn(msg)

但是当我尝试通过以下方式使用pip进行安装时,出现以下错误消息并且安装不会继续:

but when I try to install using pip the following way, I get below error messages and install doesn't continues:

$ pip install --user --editable .

即使我已导入distutils安装程序,如果我使用pip,也会收到以下错误消息.

if I use pip even if I have distutils setup imported I get the below error message.

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

虽然我已经打过这样的电话

whilst I have call to setup like this

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的卸载或删除命令.

can anyone help me why I am getting this, I prefer to go with pip because i can use pip to uninstall it later, but I think their isn't any command like setup.py uninstall or remove.

推荐答案

您在这两行中定义的入口点:

The entry point you define in these two lines:

'console_scripts':
        ['git-maildiff=scripts.git-maildiff']

中有一个-,我不确定是否受支持(git-maildiff不是有效的Python模块名称).此外,它错过了要调用的函数名称:main.

has a - in it, I'm not sure if that's supported (git-maildiff is not a valid Python module name). Further, it misses the function name to call: main.

您可以先尝试添加main:

'console_scripts':
        ['git-maildiff=scripts.git-maildiff:main']

如果这不起作用,请重命名脚本以删除-.我认为您仍然可以保留git-maildiff作为入口点名称,而只需重命名模块:

If that doesn't work, rename your script to remove the -. I think you can still leave git-maildiff as the entry-point name and just rename the module:

'console_scripts':
        ['git-maildiff=scripts.git_maildiff:main']

这应该为您提供一个调用git_maildiff模块的git-maildiff脚本.您还必须重命名模块文件本身.

This should give you a git-maildiff script that calls the git_maildiff module. You'll have to rename your module file itself too.

这篇关于为什么我在安装时不断收到此消息,说EntryPoint必须位于'name = module:attrs [extras]的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆