2015-03-31 35 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軟件包將被創建的,所以你可以繼續而無需重新安裝對它們進行編輯每次打包。

相關問題