4

機械化が必要な CGI スクリプトがありますが、Web ホストのシステム全体にインストールされていません。ホームディレクトリにインストールしました

$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)

これを修正するにはどうすればよいですか?

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 インストールの site-packages ディレクトリがどこにあるかを確認できます。

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