締切済み

Pythonでexport PYTHONSTARTTUPがエラーになる

  • 困ってます
  • 質問No.6302267
  • 閲覧数402
  • ありがとう数2
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 7% (1/14)

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'

というようなエラーが出てしまいます。どこがいけないのでしょうか?宜しければご教授ください。

回答 (全1件)

  • 回答No.1

ベストアンサー率 55% (1857/3366)

それぞれの意味を理解して使ってください。

> 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

お礼率 7% (1/14)

ありがとうございました。無事解決しました。
そうか、exportはUnix系での処理だったんですね。
あまりにも初歩的すぎるのかどこにも書いてありませんでしたが・・・
自力で解決できる力をもっとつけなくてはいけませんね。
ご丁寧にどうもありがとうございました。
投稿日時 - 2010-11-07 14:15:08
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

特集


OKWAVE若者応援スペシャル企画

ピックアップ

ページ先頭へ