决定安装在哪个软件包中设置.py金融机构

2024-09-26 18:16:57 发布

您现在位置:Python中文网/ 问答频道 /正文

为了解决这个问题,我们假设在一个git存储库下,我正在开发两个独立的包。考虑以下结构:

my_repo/

    package1/
        ...some modules

    package2/
        ...some modules

    setup.py

你知道吗设置.py代码为:

from setuptools import setup

setup(
    name='Cool_package',
    version=1.0,
    description='...',
    author='Myself',
    packages=['package1', 'package2'],
    install_requires=[
                      ...
                     ]
    )

我使用这个命令以期望的方式(避免使用python)安装包设置.py安装或开发):

pip install -e .

同时安装了package1和package2。你知道吗

我的问题是有一种方法只安装其中一个(用户决定哪一个),考虑到上面提到的结构要求他们共享一个设置.py文件?你知道吗

同样,我意识到这种结构并不理想(理想情况下,我会将这些包分成两个独立的回购)。你知道吗

非常感谢!你知道吗


Tags: install代码frompygitmodulesmysetup
1条回答
网友
1楼 · 发布于 2024-09-26 18:16:57

我建议您为每个包创建一个安装脚本。您可以通过通用的setup.py脚本共享公共信息,如下所示:

repo/
├── bar
├── foo
├── setup_bar.py
├── setup_foo.py
└── setup.py

2 directories, 3 files

那么公共setup.py文件将包含以下代码。它还可用于同时安装两个软件包:

from functools import partial
from setuptools import setup

setup = partial(
    setup,
    name='Cool_package',
    version=1.0,
    description='...',
    author='Myself',
    packages=['foo', 'bar']
)

if __name__ == '__main__':
    setup()

单独的setup_*.py脚本将重用这些信息,并且只安装一个包:

from setup import setup

setup(packages=['foo'])  # For `setup_foo.py`.
setup(packages=['bar'])  # For `setup_bar.py`.

这样,用户可以使用相应的安装脚本选择要安装的包。你知道吗

相关问题 更多 >

    热门问题