Ответ 1
Все работает как на моем компьютере:)
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
в вашем script, интерпретатор Python проверяет эти каталоги один за другим, чтобы проверить, есть ли файл с именемblah.py
(или подкаталог с именемblah
с файлом__init__.py
внутри) -
В текущем каталоге находится script, а не где Python-интерпретатор. Поэтому, если у вас есть
foo.py
иbar.py
в каталоге, вы можете использоватьimport bar
вfoo.py
, и модуль будет найден, потому что он находится в том же каталоге. -
$PYTHONPATH - это переменная среды, которая добавляется к
sys.path
при запуске интерпретатора. Таким образом, опять же, это связано с поиском по модулю и не имеет ничего общего с запуском Python из командной строки. -
Правильно, вы можете изменить
sys.path
во время выполнения - либо при запуске python script в IDLE