Piton23
Март 1, 2012 19:50:08
Привет всем.
Нужно импортировать модуль из “директории отличной от sys.path”.
Пока нашел только одно решение. Типа в начале скрипта добавить в список sys.path.append('C:\\mydir')
..и дальше уже импорт происходит успешно. НО мне нужно явно где-то добавить в конфиг файле этот путь, а не в скрипте через append. Зачем? Ну потому что проект разделен на большое количество файлов и в каждом файле прописывать append как то не хорошо. А если изменится директория моих модулей, в каждом ж не поправлять?
Кароче, есть ли решение добавить в sys.path своей директории?
alexzander77
Март 1, 2012 20:23:42
.pth файл в директории, уже прописанной в систем.пас
в site-packages, например
http://docs.python.org/install/index.html#inst-search-pathThe most convenient way is to add a path configuration file to a directory that’s already on Python’s path, usually to the …/site-packages/ directory. Path configuration files have an extension of .pth, and each line must contain a single path that will be appended to sys.path.
Андрей Светлов
Март 1, 2012 21:36:56
Есть еще sitecustomize.py — добавьте его в папку, где находятся ваши запускаемые скрипты.
Но это — костыль.
Лучше освойте создание setup.py файлов.
Piton23
Март 2, 2012 05:24:22
Спасибо за советы, засунул .pth - и модули стали доступны для загрузки. Создание setup освою, чуть позже.
Есть еще одно решение. Вчера с товарищем обговорили. Он посоветовал в PYTHONPATH добавить переменную, а именно:
Пример для WinXP: мой компьютер -> свойства -> Переменные среды -> Системные переменные
Там создаем новую переменную с именем PYTHONPATH и значением нужной директории, к примеру “C:\\mydir”.