如何将所有第三方库放在一个文件夹中?

时间:2014-04-07 20:10:13

标签: python google-app-engine python-import

我已经下载了Google APIs Client Library for Python,它附带了4个子文件夹:apiclient,httplib2,oauth2client,uritemplate。 目前它们被放置在根文件夹中,如:

apiclient
httplib2
oauth2client
uritemplate
app.yaml 
...

并使用如下:

import httplib2
from apiclient.discovery import build

但我想将它们移到一个文件夹中,如:

lib
   apiclient
   httplib2
   oauth2client
   uritemplate
app.yaml 
...

import在这种情况下应如何看待?

2 个答案:

答案 0 :(得分:1)

这已被问到很多次。客户端库与任何其他第三方库没有区别。

修改sys.path以包含lib或者我们的site.add_sitedir

在appengine_config.py中执行所有路径操作 - 请参阅文档 - 关于此文件,该文件在任何代码之前加载。 https://developers.google.com/appengine/docs/python/tools/appengineconfig

然后你的import语句完全一样。

答案 1 :(得分:1)

我在appengine_config.py中使用以下代码:

import os
import sys
path = os.path.join(os.path.dirname(__file__), 'external')
sys.path.insert(0, path)

其中'external'是我的文件夹中充满库的路径。我把它放在前面以防我内置应用程序引擎库(以前发生过)。