2015-03-31 36 views
1

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

一个例子windows文件结构可能是:

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

是否有可能保持在自己的文件夹中所有的不同部分的功能,并且只需导入相关的Python文件/功能集成到新的项目中,当他们需要?

这是推荐的方法吗?或者将相关的python文件/功能复制到新项目中会更好吗?

非常感谢。

回答

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软件包将被创建的,所以你可以继续而无需重新安装对它们进行编辑每次打包。

相关问题