1

我正在尝试了解 entry_points 以及如何从命令行使用 Python。我的操作系统是 Linux (Mint 15),我尝试使用 Python 2.7.4 和 3.3.1 都失败了——使用 virtualenv。

foo/setup.py

setup(
name='foo',
version='0.0.1',
description='foo',
url='http://www....',
author='Foo',
author_email='xxx@xxx.com',
install_requires = ['docopt', 'termcolor'],
packages = ['foo'],
entry_points = {
    'console_script': [
        'foo = foo.main:start'
    ],
},

)

foo\foo\main.py

def start():
   print 'test'    

foo\foo\__init.py__: 空的

我安装了:python setup.py develop

(learn27)user@machine /data/apps/learn27/rocks $ python setup.py develop
running develop
... more output here

但是当试图从命令行运行“foo”时,它只是说“找不到命令”。我在文件系统上找不到任何名为“foo”的文件。

据我了解,我期望生成的可执行文件位于此处的 bin 文件夹中:

>>> print distutils.sysconfig.get_config_var('prefix')
/data/apps/virtenvs/learn27

提前感谢您的帮助!

4

2 回答 2

2

入口点称为console_scripts,复数,您将其拼写为console_script(单数)。

请参阅文档中的自动脚本创建。setuptools

于 2013-07-19T16:21:04.277 回答
-2

您可能必须将其添加到您的 PATH

于 2013-07-19T16:17:40.087 回答