首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PYTHONPATH冲突

PYTHONPATH冲突
EN

Stack Overflow用户
提问于 2013-04-20 05:03:52
回答 1查看 1.4K关注 0票数 2

我正试图在import ZipCodeDatabase in helloworld.py

  • helloworld.py存在于/google-app-engine/helloworld
  • ZipCodeDatabase模块存在/usr/local/lib/python/python2.7/dist-packages
  • PYTHONPATH = /usr/local/lib/python/python2.7/dist-packages;/usr/local/lib/python/

在编译helloworld时,我仍然得到"ZipCodeDatabase模块未找到“。为什么不从PYTHONPATH中挑选

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-20 07:36:30

我非常怀疑您是否有一个名为ZipCodeDatabase的模块。该命名约定通常是为驻留在class中的module保留的。模块通常是小写或lower_snake_case,以表示包含模块的文件。我假设您已经在这里安装了pyzipcode,但它可能是一个不同的模块。

代码语言:javascript
复制
# assuming pyzipcode.py in the dist-packages directory
$ python -c 'from pyzipcode import ZipCodeDatabase'

如果上面我错了,那么您是否确信您正在运行安装了ZipCodeDatabase模块的python版本?

一些故障排除步骤:

代码语言:javascript
复制
$ which python
$ python --version
$ python -c 'import ZipCodeDatabase'
$ ls -l /usr/local/lib/python2.7/dist-packages/ | grep -i zip

另外,您真的需要指定PYTHONPATH行吗?通常,site-packages文件夹(以及扩展到Ubuntu上的dist-packages文件夹)包括在默认PYTHONPATH中,以及您正在使用的python模块的当前目录中。

您是如何安装ZipCodeDatabase的?你刚把文件放进去了吗?尝试将它放在您的helloworld.py文件旁边,然后尝试导入它。此外,完整的堆栈跟踪在这里是有用的信息,特别是当其他人试图诊断您遇到的问题时。

编辑:

好吧,现在我知道你在使用谷歌应用引擎(从你使用路径时应该很明显--对不起),看起来它不使用site-packagesdist-packages来加载模块。您应该使用相关的第三方库在项目中创建一个子目录,并将该子目录添加到您的路径中。免责声明:我从来没有使用过GAE,所以我可能错过了这个标记。

查看this answer,了解如何构造项目并从应用程序中将额外的目录添加到路径中。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16116771

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档