问题
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
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)
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 .
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']
}
)
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.
回答1:
The entry point you define in these two lines:
'console_scripts':
['git-maildiff=scripts.git-maildiff']
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
.
You could first try adding main
:
'console_scripts':
['git-maildiff=scripts.git-maildiff:main']
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']
This should give you a git-maildiff
script that calls the git_maildiff
module. You'll have to rename your module file itself too.
来源:https://stackoverflow.com/questions/30283929/why-do-i-keep-getting-this-message-when-installing-saying-entrypoint-must-be-in