构建更大项目的最佳方式

时间:2015-03-31 07:59:29

标签: python

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

示例Windows文件结构可能是:

Python_Projects
    Functionality xyz
        several python files
    Functionality abc
        several python files
    New Project
        requires functionality xyz and abc

是否可以将所有不同的功能保存在自己的文件夹中,只需在需要时将相关的python文件/功能导入到新项目中?

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

非常感谢。

1 个答案:

答案 0 :(得分:0)

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

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

如果您还没有__init__.py files,则可以创建空白。

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

pip install -e ../abc ../xyz

-e标志表示将创建abcxyz包的符号链接,因此您可以继续编辑它们,而无需每次都重新安装包。