我有一个我在本地计算机上开发的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
个文件
有关为何忽略顶级目录的任何建议?
答案 0 :(得分:0)
我不确定服务器中丢失路径的原因。但是你可以做的是,在系统路径中添加根目录。
sys.path.append(os.path.dirname(os.path.dirname(__file__)))
在你的main.py
中