4

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

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

但是我的 CGI 脚本无法导入 mechanize

#!/usr/bin/python

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

我该如何解决?

4

1 回答 1

4

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

您可能想要在这里做的是将主文件夹中的 site-packages 目录添加到整个系统将使用的站点目录列表中。

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

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

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

您可以使用以下命令找到 Python 安装站点包目录所在的位置:

python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"
于 2013-04-10T19:31:03.207 回答