Импорт в Python - PullRequest
       42

Импорт в Python

2 голосов
/ 30 марта 2009

В Python 2.5 я импортирую модули, меняя переменные среды. Это работает, но использование site-пакетов - нет. Есть ли другой способ импортировать модули в каталогах, отличных от C: \ Python25?

Ответы [ 4 ]

7 голосов
/ 30 марта 2009

В пути с PYTHONPATH переменной среды. Другой способ - добавить путь к sys.path либо напрямую sys.path.append(path), либо определив файлы .pth и добавив их с site.addsitedir(dirWithPths). Файлы пути (.pth) - это простые текстовые файлы с путем в каждой строке. Каждый .pth файл в dirWithPths будет прочитан.

5 голосов
/ 30 марта 2009

Каталоги, добавленные в переменную окружения PYTHONPATH, ищутся после site-packages, поэтому, если у вас есть модуль в site-packages с тем же именем, которое вы хотите от вашего PYTHONPATH, версия site-packages будет выиграть. Кроме того, вам может потребоваться перезапустить ваш интерпретатор и оболочку, которая его запустила, чтобы изменение переменной среды вступило в силу.

Если вы хотите добавить каталог в путь поиска во время выполнения, без перезапуска вашей программы, добавьте каталог в sys.path. Например:

import sys
sys.path.append(newpath)

Если вы хотите, чтобы ваш новый каталог находился до site-packages, поместите каталог в начало списка, например:

import sys
sys.path.insert(0, newpath)
4 голосов
/ 30 марта 2009

Добавить местоположение к модулю к sys.path.

Редактировать: (чтобы противостоять посту ниже ;-)) os.path делает что-то совершенно другое. Вам нужно использовать sys.path.

sys.path.append("/home/me/local/modules")
0 голосов
/ 30 марта 2009

sys.path - это список, к которому вы можете добавлять пользовательские пути для поиска следующим образом:

sys.path.append("/home/foo")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...