Я установил программу, которая импортировала pygtk. Это нормально работало в моей среде, но «пустая» среда (например, новый пользователь) не работала.
Я решил, что это из-за PATH. Решение было озадачивающим, хотя.
Мой ПУТЬ был установлен так:
PATH=/usr/lib/qt-3.3/bin
PATH=$PATH:/bin
PATH=$PATH:/usr/bin
PATH=$PATH:/usr/local/bin #******
PATH=$PATH:/sbin
PATH=$PATH:/usr/sbin
PATH=$PATH:/usr/local/sbin
PATH=$PATH:/home/td69386/bin
Значение по умолчанию было установлено следующим образом:
PATH=/usr/lib/qt-3.3/bin
PATH=$PATH:/usr/local/bin #*****
PATH=$PATH:/bin
PATH=$PATH:/usr/bin
PATH=$PATH:/usr/local/sbin
PATH=$PATH:/usr/sbin
PATH=$PATH:/sbin
PATH=$PATH:/home/td69386/bin
Единственная разница - это порядок. Конкретно я поставил /usr/bin
выше /usr/local/bin
.
Без этого крошечного изменения ошибки программы с:
import pygtk
ImportError: No module named pygtk
Я не думал, что порядок PATH был настолько важен, но, очевидно, это так. Почему система так заботится? Он находит и пытается выполнить программу до того, как она найдет pygtk?