【问题标题】:minimal example of an installable python module可安装 python 模块的最小示例
【发布时间】:2020-03-19 23:17:02
【问题描述】:

假设我有一个包含一些 .py 文件的目录,以及一些包含其他 .py 文件的目录

那个目录叫做 my_program

my-program
 -- dir1
    -- file.py
 -- dir2

我希望能够从任何目录使用 my_program 定义的模块,比如这样做

>>> import my_program
>>> myprogram.dir1.file.function()

或者通过做

>>> import my_program.dir1.file
>>> file.function()

我还想使用 pip“安装”我的模块以实现系统范围内的可访问性

【问题讨论】:

    标签: python-3.x pip setuptools setup.py python-packaging


    【解决方案1】:

    下面是一个最小的工作示例

    my_packs/
    ├── foo
    │   ├── code.py
    │   └── __init__.py
    └── setup.py
    

    这里 code.py 包含一些有用的功能,而 setup.py 包含

    from setuptools import find_packages, setup
    setup(name="foo",
          version="0.1",
          description="A foo utility",
          author="Ewen Cheslack-Postava",
          author_email='me@ewencp.org',
          platforms=["any"],  # or more specific, e.g. "win32", "cygwin", "osx"
          license="BSD",
          url="http://github.com/ewencp/foo",
          packages=find_packages(),
          )
    

    init 是一个空文件

    可以安装包

    python setup.py develop
    

    pip install -e .
    

    然后,从任何目录,它运行如下:

    python -c 'import foo.code; print(foo.code.useful_function())'
    

    示例改编自:https://ewencp.org/blog/a-brief-introduction-to-packaging-python/index.html

    【讨论】:

      猜你喜欢
      • 2023-03-09
      • 2013-08-23
      • 1970-01-01
      • 2017-07-24
      • 2016-04-08
      • 1970-01-01
      • 2022-07-06
      相关资源
      最近更新 更多