• 締切済み

Pythonでexport PYTHONSTARTTUPがエラーになる

Pythonでexport PYTHONSTARTTUPがエラーになる OS:Windows7 Python2.6.6使用 http://d.hatena.ne.jp/kazu_pon/20100921/p1 ↑のサイトを参照してpythonのインタラクティブモードをカスタマイズしようとおもったのですが、 >>> export PYTHONSTARTUP = ~/.pythonstartup File "<stdin>", line 1 export PYTHONSTARTUP = ~/.pythonstartup ^ SyntaxError: invalid syntax というようにエラーが出てしまいます。 また、直接、環境変数PYTHONSTARTUPにC:\Users\name\.pythonstartup.py (nameにはちゃんと自分の名前が入ってます)といれても Traceback (most recent call last): File "C:\Users\teruo\.pythonstartup.py", line 12, in <module> histfile = os.path.join(os.environ['HOME'], '.pythonhistory') File "C:\Python26\lib\os.py", line 423, in __getitem__ return self.data[key.upper()] KeyError: 'HOME' というようなエラーが出てしまいます。どこがいけないのでしょうか?宜しければご教授ください。

みんなの回答

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

それぞれの意味を理解して使ってください。 > export PYTHONSTARTUP = ~/.pythonstartup これは、Pythonで実行するものではなく、Pythonを実行する前に設定しておくものです。 また、この形式は、Unix系OSのシェル(特にBsh系と呼ばれる類)での設定方法です。 # 正確には=の前後にスペースがあってはいけません。 # また~をホームディレクトリとして使えるのは、Bsh系の中でもbash等の機能拡張版だけです。 その意味では、環境変数を直接設定したのは正しい対応です。 > KeyError: 'HOME' os.environは環境変数を格納した辞書です。os.environ['HOME'] は、環境変数HOMEを参照しています。 Unix系OSでは、環境変数HOMEにホームディレクトリのパスが設定されています。 しかし、Windowsでは標準では未定義です。 Pythonの辞書型では、読み出す場合は、指定したキーに対応する値が設定されていなければなりません。 Windowsでは環境変数HOMEが未定義→os.environには'HOME'に対応する値は無い→os.environ['HOME']を参照しようとしたので、キーが無いのでエラー ということです。 対処法としては次のいずれかが考えられます。 ・環境変数HOMEを適当に設定する。 ・Windows7ではHOMEPATH、 HOMEDRIVE、 HOMESHAREの3つの環境変数でホームディレクトリを表しているのでそれらを使う histfile = os.path.join(os.environ['HOMESHARE'] , os.environ['HOMEDRIVE'] , os.environ['HOMEPATH'], '.pythonhistory') ・os.environ['HOME']を使わず直接フルパスで書く

hackzero
質問者

お礼

ありがとうございました。無事解決しました。 そうか、exportはUnix系での処理だったんですね。 あまりにも初歩的すぎるのかどこにも書いてありませんでしたが・・・ 自力で解決できる力をもっとつけなくてはいけませんね。 ご丁寧にどうもありがとうございました。

関連するQ&A