尽管pip安装导入六个模块无法正常工作

时间:2018-01-12 10:23:56

标签: python-2.7 google-app-engine google-oauth six

我正在构建一个网络应用程序(基于谷歌应用程序引擎和python 2.7)并尝试导入six.move模块。但是虽然安装了“six”,但在导入时却找不到它(注意,我还没有像Django那样使用框架)。

在我的工作环境(env)上,我跑了:

| => pip show six
Name: six

Version: 1.11.0
Summary: Python 2 and 3 compatibility utilities
Home-page: http://pypi.python.org/pypi/six/
Author: Benjamin Peterson
Author-email: benjamin@python.org
License: MIT
Location: /path/to/file/DeployedProjects/goinpact/env/lib/python2.7/site-packages
Requires: 

调用此软件包的模块是“google.oauth2”中的“id_token.py”

所以,当我跑

from google.oauth2 import id_token 

然后加载我的Web应用程序,导入错误日志显示为:

File "/path/to/file/DeployedProjects/goinpact/env/lib/python2.7/site-packages/google/oauth2/id_token.py", line 19, in <module>
from six.moves import http_client
ImportError: No module named six.moves 

id_token.py模块调用:

from six.moves import http_client

...导致上面的日志导入错误。

我的理解是,如果在我的环境(env)上,我可以看到安装了“six”,我应该没有问题从我的应用程序导入这个模块。这有点不正确吗?

我必须遗漏一些基本但却无法理解的东西?请帮忙!

PS:资源我也尝试过:

A) 甚至从我的“main.py”文件中调用:

import six

导致相同的ImportError。

B) ImportError: No module named six

C)未解决: Cannot install python six module

1 个答案:

答案 0 :(得分:0)

激活Python虚拟环境后,将重写路径以添加{env}/lib/python2.7/。但是,GAE本身并不了解虚拟环境。因此,如果您希望应用程序可以使用six(或其他一些纯Python库),您需要自己安排。有关如何执行此操作的说明位于https://cloud.google.com/appengine/docs/standard/python/tools/using-libraries-python-27

相关问题