弁財天

ゴフマン「専門家を信じるのではなく、自分自身で考えて判断せよ」

ImportError: No module named site

$ python
ImportError: No module named site
$
Pythonで「ImportError: No module named …」が出た時の3つの対処法

__init__.pyがあるpythonディレクトリのトップを環境変数PYTHONPATHに設定する

Cygwin環境なので

$ ls -d /lib/python*
/lib/python2.6  /lib/python2.7  /lib/python3.2
$ python -V
Python 2.7.3
$ export PYTHONPATH=/lib/python2.7:/lib/python2.6
$ python argv.py a b
Traceback (most recent call last):
  File "/lib/python2.7/site.py", line 563, in 
    main()
  File "/lib/python2.7/site.py", line 545, in main
    known_paths = addusersitepackages(known_paths)
  File "/lib/python2.7/site.py", line 278, in addusersitepackages
    user_site = getusersitepackages()
  File "/lib/python2.7/site.py", line 253, in getusersitepackages
    user_base = getuserbase() # this will also set USER_BASE
  File "/lib/python2.7/site.py", line 243, in getuserbase
    USER_BASE = get_config_var('userbase')
  File "/lib/python2.7/sysconfig.py", line 521, in get_config_var
    return get_config_vars().get(name)
  File "/lib/python2.7/sysconfig.py", line 420, in get_config_vars
    _init_posix(_CONFIG_VARS)
  File "/lib/python2.7/sysconfig.py", line 288, in _init_posix
    raise IOError(msg)
IOError: invalid Python installation: unable to open \Python26/lib/python2.7/config/Makefile (No such file or directory)
$ env|grep PY
PYTHONHOME=C:\Python26
PYTHONPATH=/lib/python2.6:/lib/python2.7
$
ぐげ。2つのPYTHON環境が混ざってる。

$ unset PYTHONHOME
$ python argv.py a "b b b b" c
Argument sys.argv[1]: a
attachments:a
subject:b b b b
$
動いた。

投稿されたコメント:

コメント
コメントは無効になっています。