python-3.x - 可安装 python 模块的最小示例

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

假设我有一个包含一些 .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“安装”我的模块以实现系统范围内的可访问性

最佳答案

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

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

关于python-3.x - 可安装 python 模块的最小示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60766403/

相关文章:

python - 是否可以通过 django-cassandra-engine 连接到多个集群?

python - 如何从 setuptools 将文件安装到站点包(不是包子文件夹)?

python - easy_install - pyCurl 安装问题

python - pypi信息显示在错误的地方

Python - setuptools - 处理两个依赖包(在一个 repo 中?)

python-3.x - 使用groupby后在Python中填充缺失的元素

python - 导入错误: cannot import name 'RandomizedLogisticRegression'

mongodb - 使用 pymongo 的 MongoDB 的 dateFromString 运算符的问题

python - 如何在 Pycharm Mac 中使用来自 Python 包交换的 Python 包?

python - 如何使用 pip 一次安装多个 python 包