【问题标题】:application folder not showing up on sys.path [Python]应用程序文件夹未显示在 sys.path [Python] 上
【发布时间】:2014-12-15 03:03:39
【问题描述】:

我有一个正在本地计算机上开发的 Web 应用程序。我将文件复制到我的服务器,现在我的程序将无法运行。

我检查了两台机器和服务器上的 sys.path(代码不会运行的地方),但我的路径中缺少顶级目录。我在两台机器上都使用 virtualenvs。看下面的结构

myapplication/
  code/
    main.py
    db.py
  app/
    models.py

在我的家用机器上,当我拨打$ python2.7 main.py 时,一切正常。我还看到myapplication/ 在我的路上,myapplication/app/ 也是如此(print sys.path 来自db.py

在服务器上,我收到一个导入错误ImportError: No module named app.models

db.py 中的导入行是from app import models

查看服务器上print sys.path 的输出显示路径中缺少顶级myapplication/(仅myapplication/code

我已尝试删除并重新同步所有 __init__.py 文件并删除所有 *.pyc 文件

关于为什么顶级目录被省略的任何建议?

【问题讨论】:

    标签: python python-2.7 flask virtualenv


    【解决方案1】:

    我不确定服务器中缺少路径的原因。但是你可以做的是,在系统路径中添加根目录。

    sys.path.append(os.path.dirname(os.path.dirname(__file__)))
    

    在你的 main.py 中

    【讨论】:

      猜你喜欢
      • 2015-06-16
      • 2018-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-03
      • 2023-04-10
      • 1970-01-01
      • 2011-03-07
      相关资源
      最近更新 更多