2012-03-13 54 views
0

我想让我的所有库,烧瓶和boto都存储在本地项目中,而不是全局安装。我在解决这个问题上遇到了一些麻烦。我的文件结构如下:从当地图书馆导入烧瓶

project/ 
    project/ 
     __init__.py 
     libraries/ 
      flask/ 
      boto/ 
     views/ 
      .... 
     modules/ 
      __init__.py 
      .... 
     templates/ 
      .... 
     static/ 
      .... 
    runserver.py 

及相关文件的如下内容:

项目/ runserver.py

from project import app 
app.run(host='0.0.0.0', port=8080, debug=True) 

项目/工程/ _ 初始化 _。 py

from project.libraries.flask.flask import Flask 
app = Flask(__name__) 

import project.views.index 
import project.views.login 

project/project/modules/_ 初始化 _.py

import project.libraries.boto.boto 

两个瓶中,宝途的进口不工作。该错误报告无法找到这些库。

我在做什么错?这是文件布局(试图将视图分隔成多个文件,同时保持所有库本地)是一个好主意吗?

谢谢。

+1

如果你想做到这一点,你可能会更好地建立一个'virtualenv'环境。 – 2012-03-13 20:09:41

回答

0

您需要一个project/project/libraries/__init__.py文件。

+0

谢谢。这解决了这个问题。但我也注意到我不得不添加一个烧瓶/ __ init__.py。这可以吗?或者我应该将内部烧瓶目录移动到库文件夹。 – ensnare 2012-03-13 20:09:25

+0

我认为这取决于你的使用情况 - 你想在那里检查烧瓶项目,还是只有烧瓶包装可以吗?通常,当我想控制依赖关系时,我在'__init__'模块中使用'__path__'扩展名。例如,查看['pkgutil.extendpath'](http://docs.python.org/library/pkgutil.html?highlight=pkgutil#pkgutil.extendpath) – 2012-03-13 20:16:55