可安装的python模块的最小示例

问题描述 投票:-1回答:1

说我的目录包含一些.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个回答
-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='[email protected]',
      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

© www.soinside.com 2019 - 2024. All rights reserved.