Форум сайта python.su
5
Привет всем.
Нужно импортировать модуль из “директории отличной от sys.path”.
Пока нашел только одно решение. Типа в начале скрипта добавить в список sys.path.append('C:\\mydir')
..и дальше уже импорт происходит успешно. НО мне нужно явно где-то добавить в конфиг файле этот путь, а не в скрипте через append. Зачем? Ну потому что проект разделен на большое количество файлов и в каждом файле прописывать append как то не хорошо. А если изменится директория моих модулей, в каждом ж не поправлять?
Кароче, есть ли решение добавить в sys.path своей директории?
Офлайн
1
.pth файл в директории, уже прописанной в систем.пас
в site-packages, например
http://docs.python.org/install/index.html#inst-search-path
The 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.
Офлайн
14
Есть еще sitecustomize.py — добавьте его в папку, где находятся ваши запускаемые скрипты.
Но это — костыль.
Лучше освойте создание setup.py файлов.
Офлайн
5
Спасибо за советы, засунул .pth - и модули стали доступны для загрузки. Создание setup освою, чуть позже.
Есть еще одно решение. Вчера с товарищем обговорили. Он посоветовал в PYTHONPATH добавить переменную, а именно:
Пример для WinXP: мой компьютер -> свойства -> Переменные среды -> Системные переменные
Там создаем новую переменную с именем PYTHONPATH и значением нужной директории, к примеру “C:\\mydir”.
Офлайн