应用程序文件夹未显示在sys.path [Python]

时间:2014-12-15 03:03:40

标签: python python-2.7 flask virtualenv

我有一个我在本地计算机上开发的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个文件

有关为何忽略顶级目录的任何建议?

1 个答案:

答案 0 :(得分:0)

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

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

在你的main.py