在CGI脚本的主目录中导入python模块

时间:2013-04-10 19:19:07

标签: python cgi python-import

我有一个需要机械化的CGI脚本,但它没有在我的网络主机上安装系统。我把它安装在我的主目录

$HOME/.local/lib/python2.7/site-packages/mechanize-0.2.5-py2.7.egg

但是我的CGI脚本无法导入机械化

#!/usr/bin/python

import sys,cgi,cgitb
import mechanize
^-- Exception(import mechanize ImportError: cannot import name mechanize)

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

这是因为您的cgi脚本作为不同的用户(可能是apache或root)运行,因此Python不会使用您的主文件夹中的site-packages目录。

您可能希望在此处将主文件夹中的site-packages目录添加到整个系统将使用的站点目录列表中。

您可以通过在Python安装的site-packages目录中添加以下内容的文件sitecustomize.py来完成此操作:

import site
site.addsitedir('/home/YOUR_USER/.local/lib/python2.7/site-packages')

如果不明显,请将/home/YOUR_USER替换为主目录的实际路径。

您可以使用以下命令找到Python安装site-packages目录的位置:

python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"