【发布时间】:2015-03-09 02:02:28
【问题描述】:
我有一些 python 代码,我尝试使用第三方模块(tweepy):
...
import tweepy
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)
...
当我在电脑上启动它时效果很好,但如果我尝试将它与谷歌应用引擎一起使用,我会收到错误:
File "X:\courant\main.py", line 6, in <module>
import tweepy
File "X:\courant\lib\tweepy\__init__.py", line 14, in <module>
from tweepy.api import API
File "X:\courant\lib\tweepy\api.py", line 12, in <module>
from tweepy.binder import bind_api
File "X:\courant\lib\tweepy\binder.py", line 11, in <module>
import requests
File "X:\courant\lib\requests\__init__.py", line 58, in <module>
from . import utils
File "X:\courant\lib\requests\utils.py", line 26, in <module>
from .compat import parse_http_list as _parse_list_header
File "X:\courant\lib\requests\compat.py", line 42, in <module>
from .packages.urllib3.packages.ordered_dict import OrderedDict
File "X:\courant\lib\requests\packages\__init__.py", line 83, in load_module
raise ImportError("No module named '%s'" % (name,))
ImportError: No module named 'requests.packages.urllib3'
Tweepy 安装在 GAE 项目的 /lib 目录下,并在代码中添加 /lib 的链接:
import site
import os.path
site.addsitedir(os.path.join(os.path.dirname(__file__), 'lib'))
urllib3 存在于lib\requests\packages\urllib3 但我仍然收到此错误:
ImportError: No module named 'requests.packages.urllib3'
我做错了什么?我不知道..
【问题讨论】:
-
我假设具有
site.addsitedir(...)的模块位于项目的根目录中,并且它在 tweetpy 之前被导入? -
你在 GAE 上安装了
tweetpy吗? (pip install tweetpy) -
@mgilson 是的,没错!
-
@vishen 是的,Tweepy 安装在 GAE 项目根目录下的 /lib 目录中
-
@neonhash,我也遇到了同样的问题,你解决了吗?
标签: python google-app-engine python-2.7