我无法与 Django (django-nonrel) 和 Google App Engine 一起工作。这是项目结构:
gae/
virtualenv_directory/
project/
app/
views.py
algorithm.py
...
lib/
nltk/
numpy/
...
nltk_data/
settings.py
使用命令:“pip install -t .package”将所有第三方库安装在 lib/ 目录中。此外,settings.py 包含以下行:
sys.path.append(os.path.join(PROJECT_PATH, 'lib'))
在views.py 中,我调用了algorithm.py 中的一个函数,该函数使用nltk。但是,当以用户身份(在开发服务器上)调用它时,出现以下错误:
异常类型:ImportError
异常值:无法导入名称多数组
异常位置:/home/me/gae/project/lib/numpy/core/ init .py in 第 6 行
Python 可执行文件:/home/me/gae/virtualenv_directory/bin/ python
Python版本:2.7.3
Traceback 以以下行结束:
6.中的文件“/home/me/gae/project/lib/numpy/core/ init .py”来自 .
导入多数组
本地变量:
文件无
absolute_import 无
包无
路径无
名称无
版本无
文档无
print_function 无
相对导入使用模块的名称属性来确定该模块在包层次结构中的位置。如果模块的名称不包含任何包信息(例如,它被设置为' main '),那么无论模块实际位于文件系统上的什么位置,都将相对导入解析为就好像该模块是顶级模块一样。
所以似乎错误是由名称等于“无”引起的。但它的原因是什么?
在 ./manage.py shell 中,我可以导入 numpy.core.multiarray 或从 algorithm.py 调用函数而不会出现任何错误。
我还尝试使用 GAE numpy,将以下行添加到 app.yaml:
- name: numpy
version: latest
但结果又是一个导入错误,即:
异常值:无法导入名称 scimath
异常位置:/home/me/gae/virtualenv_directory/local/lib/python2.7/site-packages/numpy/lib/ init .py in 第 17 行
Python 可执行文件:/home/me/ gae/virtualenv_directory/bin/python/home/me/gae/virtualenv_directory/local/lib/python2.7/site-packages/numpy/lib/ init .py in
17. from . 将 scimath 导入为 emath
再一次,上面提到的所有本地变量都等于“无”。
任何建议如何解决这个问题?