【问题标题】:How to place all 3rd party libraries at one folder?如何将所有 3rd 方库放在一个文件夹中?
【发布时间】:2014-05-20 06:22:40
【问题描述】:

我已经下载了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 在这种情况下应该是什么样子?

【问题讨论】:

  • 非常好的问题!

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


【解决方案1】:

这已经被问了很多次了。客户端库与任何其他 3rd 方库没有什么不同。

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

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

那么你的import语句就完全一样了。

【讨论】:

  • 谢谢。使用两行代码创建 appengine_config.py - import sys; sys.path.append('lib') 帮助。
【解决方案2】:

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

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

“外部”是我的充满库的文件夹的路径。我把它放在前面,以防我 Eclipse 内置应用程序引擎库(以前发生过)。

【讨论】:

    猜你喜欢
    • 2012-05-18
    • 2018-07-23
    • 2011-10-30
    • 2017-02-19
    • 1970-01-01
    • 2012-04-19
    • 2015-01-11
    • 1970-01-01
    • 2021-02-17
    相关资源
    最近更新 更多