gpt4 book ai didi

PYTHONPATH冲突

转载 作者:太空宇宙 更新时间:2023-11-04 01:28:10 24 4
gpt4 key购买 nike

我正在尝试在 helloworld.py导入 ZipCodeDatabase

  • 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 中选取它?

最佳答案

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

# assuming pyzipcode.py in the dist-packages directory
$ python -c 'from pyzipcode import ZipCodeDatabase'

如果上面我错了,那么你确定你正在运行安装了 ZipCodeDatabase 模块的 python 版本吗?

一些故障排除步骤:

$ 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 文件放在一起,然后尝试导入它。此外,完整的堆栈跟踪在这里是有用的信息,尤其是当其他人试图诊断您遇到的问题时。

编辑:

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

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

关于PYTHONPATH冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16116771/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com