Python 构建大型项目的最佳方法

Python 构建大型项目的最佳方法,python,Python,我在自己的文件夹中有许多不同的迷你项目/功能。我通常为每个文件夹创建一个virtualenv。我现在将开始一个更大的项目,它将使用这些不同项目的几个方面 示例windows文件结构可能是: Python_Projects Functionality xyz several python files Functionality abc several python files New Project requires func

我在自己的文件夹中有许多不同的迷你项目/功能。我通常为每个文件夹创建一个virtualenv。我现在将开始一个更大的项目,它将使用这些不同项目的几个方面

示例windows文件结构可能是:

Python_Projects
    Functionality xyz
        several python files
    Functionality abc
        several python files
    New Project
        requires functionality xyz and abc
是否可以将所有不同的功能保留在各自的文件夹中,并在需要时将相关的python文件/功能导入到新项目中

这是推荐的方法,还是将相关的python文件/功能复制到新项目中更好


非常感谢。

您可以为每个项目创建一个包,然后将这些包安装到新项目的
virtualenv
中。创建包需要在包目录的顶层放置
install.py
脚本。详细说明了安装脚本可以执行的各种操作,但基本操作如下所示:

from distutils.core import setup

setup(name='xyz',
      py_modules=['xyz']
)
假设您按如下方式嵌套项目:

Python_Projects
Functionality xyz
    setup.py
    xyz
        __init__.py
        several python files
Functionality abc
    setup.py
    abc
        __init__.py
        several python files
如果您还没有,您可以创建空白的

从新项目的
virtualenv
,您可以运行

pip install -e ../abc ../xyz
-e
标志意味着将创建指向
abc
xyz
软件包的符号链接,因此您可以继续编辑它们,而无需每次重新安装软件包