【问题标题】:ImportError where path to module is in PYTHONPATH模块路径在 PYTHONPATH 中的 ImportError
【发布时间】:2015-04-03 08:59:24
【问题描述】:

我不知道为什么我仍然收到ImportError

追溯:

Traceback (most recent call last):
  File "./test_jabba.py", line 12, in <module>
    from tests import testbench
ImportError: No module named tests

发生错误的地方:

from tests import testbench
from utils import gopher, jsonstream

我的.bashrc有这个

export PYTHONPATH=$PYTHONPATH:/Users/bli1/Development/QE/TrinityTestFramework/poc

但是,当我echo $PYTHONPATH 没有返回任何内容

我也在目录testsutils 中添加了__init__.py,但出现同样的错误

【问题讨论】:

  • 曾经解决过这个问题吗?我遇到了类似的问题(在 Windows 10 上)。

标签: python importerror pythonpath


【解决方案1】:

您确定您的.bashrc 来源正确吗? 如果您在会话中运行

echo $PYTHONPATH

设置是否正确? 如果没有,请尝试手动导出路径,然后尝试了解为什么您的 .bashrc 未被获取。可能的微不足道的原因:

  • 您正在使用不同于 bash 的 shell,这非常简单,但可能会发生。尝试运行echo $SHELL。请注意,即使您实际上并未使用 bash,这也可能返回 /bin/bash。请参阅this 帖子以了解您使用的是哪个 shell。您还可以手动启动一个新的 bash 会话(只需运行 /bin/bash)并仔细检查 PYTHONPATH 是否在此处正确导出。

  • 您修改了.bashrc,但没有开始新会话。

【讨论】:

  • echo $PYTHONPATH 什么都不返回 =/ 我尝试退出所有终端会话,但仍然得到空的 python 路径
  • echo $SHELL 返回什么?
  • 当你编辑你的.bashrc时,你是调用“source ~/.bashrc”还是启动一个新的shell?
  • @nicolallias 我启动了一个新的 shell,因为我认为 bashrc 会自动获取新的 shell 实例
  • 是的,如果您想留在同一个 shell 中,则必须使用“source”命令。
【解决方案2】:

您应该导入模块而不是文件夹。 from something import something 命令仅适用于模块文件中的对象。 Python module import errorpython module import error 应该会有所帮助

【讨论】:

    猜你喜欢
    • 2016-09-10
    • 1970-01-01
    • 2016-06-03
    • 1970-01-01
    • 2018-09-16
    • 1970-01-01
    • 1970-01-01
    • 2013-05-26
    • 1970-01-01
    相关资源
    最近更新 更多