我有一个很奇怪的问题。
当我从linux命令行python scriptname.py
运行这个脚本时,一切正常。当我通过浏览器请求它时,它会给我内部错误500
我正在导入脚本列车状态.py在我运行的脚本的同一目录中。我还在目录中放置了一个具有777权限的空文件__init__.py
注意:任何执行标准导入(例如import os
)的脚本都可以通过浏览器正常工作
from trainstate import *
print "Content-Type: text/html\n\n"
st = TrainState(784)
print st.get_state()
我做错什么了?你知道吗
这并不意味着这个目录是您的web服务器进程的当前工作目录,也不意味着它在系统路径对于这个过程。thkang已经提供了最好的答案(我应该说的是相反的顺序),但是无论如何-试着用这个代码来代替,看看你得到了什么:
在你的补充意见之后,我想详细说明一下。你知道吗
您可能正在使用一些不是python的参考cgi/http/wsgi实现的cgi后端。相反,这个后端(不管是apache、iis还是其他什么)可能会嵌入一个python解释器来运行python cgi脚本。你知道吗
我在此设置中遇到的最常见的问题之一是处理导入路径。考虑以下场景:
import bar
做某事。你知道吗这是因为foo.py公司不包含在pythonpath中,与运行时不同foo.py公司从命令行。要解决这个问题,可以将其路径添加到
sys.path
。你知道吗所以,解决方案是:
好吧,如果你有列车状态.py在某个单独的文件夹中,必须在
sys.path
中添加该文件夹的路径。你知道吗相关问题 更多 >
编程相关推荐