Python 仅在本地环境中导入错误

Python import error on local environment only

我有一个部署在 heroku 上并运行的应用程序,Python 2.7.6。在本地机器上,相同的 Python 版本,我收到启动器所在模块的导入错误:

(VIRTUALENV)$ python pybossa/web.py
Traceback (most recent call last):
  File "pybossa/web.py", line 31, in <module>
    import pybossa
ImportError: No module named pybossa

pybossa 文件夹有 __ init__.py 内容如下:

__version__ = "0.1"

您可能在2个执行案例中的环境不匹配。

您可以设置将 pybossa 目录的父级添加到您的 PYTHONPATH(只是一个示例,但最好尝试匹配环境,否则其他惊喜可能会潜伏在其中):

$~/tmp> python pybossa/web.py
Traceback (most recent call last):
  File "pybossa/web.py", line 1, in <module>
    import pybossa
ImportError: No module named pybossa
$~/tmp> echo $PYTHONPATH
PYTHONPATH: Undefined variable.
$~/tmp> setenv PYTHONPATH '.'
$~/tmp> python pybossa/web.py
$~/tmp>

正如 Dan Cornilescu 所说,本地环境存在问题。这是在我从项目内部安装需求时出现的(即来自 pybossa 项目内部的 运行 $ pip install -r requirements.txt)。

当 运行 它来自父项目时,环境正常(即 $ pip install -r pybossa/requirements.txt