すべてが私のマシンで意図したとおりに機能します:)
Python 2.7.3 (default, Sep 26 2012, 21:51:14)
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path.append('/home/sergey')
>>> sys.path
['', ..., '/home/sergey']
>>> sys.path.remove('/home/sergey')
>>> sys.path
['', ...]
>>>
具体的に何を試しましたか?
物事の理解について - いくつかの誤解があると思います:
sys.path
システム ライブラリではなく、Python モジュールを含むディレクトリのリストです。したがって、単純化すると、スクリプトに次のようなものがある場合import blah
、Python インタープリターはそれらのディレクトリを 1 つずつチェックして、呼び出されたファイル(または内部にファイルを含むblah.py
名前のサブディレクトリ) があるかどうかを確認します。blah
__init__.py
現在のディレクトリは、スクリプトが配置されている場所であり、Python インタープリターが配置されている場所ではありません。foo.py
ディレクトリにandがある場合、 inbar.py
を使用import bar
するfoo.py
と、同じディレクトリにあるため、モジュールが見つかります。
sys.path
$PYTHONPATH は、インタープリターの起動時に追加される環境変数です。繰り返しになりますが、これはモジュールの検索パスに関連しており、コマンド ラインから Python を起動することとは関係ありません。
正しい、実行時に変更できますsys.path
-IDLEでPythonスクリプトを実行するときのいずれか
詳細については、 sys.pathとサイトを参照してください。