【问题标题】:How to create a python library which can be used as shell command after installation?如何创建一个安装后可以用作shell命令的python库?
【发布时间】:2019-03-18 09:13:05
【问题描述】:

flask等一些python包通过pip install安装后可以作为shell脚本使用。我的问题是如何创建它们?

一个最小的包可以写成下面这样,在哪里添加代码?

.
├── library_name
│   ├── __init__.py
│   └── Foo.py
└── setup.py

谢谢!

【问题讨论】:

标签: python


【解决方案1】:

使用 setup.py 中的入口点

from setuptools import setup, find_packages

setup(
    name='Foo',
    version='1.0',
    packages=find_packages(),
    url='https://github.com/Bar/Foo.git',
    install_requires=[

    ],
    license='',
    classifiers=[
        'Development Status :: 3 - Alpha',

    ],
    keywords='foo bar',
    author='Mr Foo',

    entry_points={
        'console_scripts': [
            'foo = library_name.Foo:main',
        ],
    },
)

这样,当你安装 python setup.py 时,你可以从 shell 调用 foo,它会在 Foo.py 中执行 main

请注意,您需要更改 library_name、foo、Foo 和 main,以防它们在您的代码中具有不同的名称。

【讨论】:

  • 可能我们还需要添加PATH:stackoverflow.com/questions/46973667/…
  • 不,这是不好的做法,使用 virtualenv 修改 PATH,不要手动弄乱它
  • 我的意思是不要安装任何东西,即使你不在虚拟环境中。在这种情况下,这也将解决您的路径问题。
猜你喜欢
  • 1970-01-01
  • 2017-04-19
  • 2017-04-18
  • 1970-01-01
  • 2011-01-26
  • 2021-02-06
  • 2021-07-14
  • 1970-01-01
  • 2014-02-02
相关资源
最近更新 更多