Che*_*eng 5 python apache mod-wsgi
我正在使用Apache + mod-wsgi.
在我的httpd.conf中,我在文件末尾有以下附加行.
LoadModule wsgi_module modules/mod_wsgi-win32-ap22py27-3.3.so
WSGIScriptAlias / "C:/Projects/Folder/web/"
<Directory "C:/Projects/Folder/web">
AllowOverride None
Options None
Order deny,allow
Allow from all
</Directory>
Run Code Online (Sandbox Code Playgroud)
当我index.py通过http://localhost/script/index.py在Windows中执行以下脚本时
def application(environ, start_response):
status = '200 OK'
output = 'Hello World!'
response_headers = [('Content-type', 'text/plain'),
('Content-Length', str(len(output)))]
start_response(status, response_headers)
return [output]
Run Code Online (Sandbox Code Playgroud)
工作得很好.
但是,当我import utils在第一行添加时index.py,我得到了
ImportError: No module named utils
Run Code Online (Sandbox Code Playgroud)
utils.py 与目录相同 index.py
我需要设置任何其他配置吗?
我尝试@dan_waterworth给出的建议
import sys, os
sys.path.append(os.path.dirname(__file__))
Run Code Online (Sandbox Code Playgroud)
通过导入我自己的模块,我没有得到更多错误.但是,当我导入通过easy_install安装的模块时,会发生错误.
File "C:/Projects/Folder/web/script\\connection.py", line 1, in <module>
import psycopg2
File "build\\bdist.win32\\egg\\psycopg2\\__init__.py", line 65, in <module>
from psycopg2 import tz
ImportError: cannot import name tz
Run Code Online (Sandbox Code Playgroud)
import psycopg2 如果此脚本作为独立应用程序执行,则执行没有问题.
我发现我必须添加几行来追加python路径.就像是:
import sys, os
sys.path.append(os.path.dirname(__file__))
import utils
Run Code Online (Sandbox Code Playgroud)
对于第二部分,只需为导入目录添加其他行.即:
sys.path.append([enter path here])
Run Code Online (Sandbox Code Playgroud)
要找到您的导入目录,请键入交互式python提示符:
import sys
print sys.path
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6019 次 |
| 最近记录: |