Когда использовать sys.path.append и при изменении% PYTHONPATH достаточно% - PullRequest
2 голосов
/ 17 ноября 2010

Итак, оказалось, что я пропустил точку с запятой из моего определения PYTHONPATH. Но это только дошло до меня. по какой-то причине мой сценарий НЕ работал как запланированная задача (на WinXP), пока я явно не добавил каталог из PYTHONPATH в начало моего сценария.

Вопрос: Когда мне нужно явно добавить что-то к моему пути и когда я могу просто положиться на переменные окружения?

Ответы [ 2 ]

4 голосов
/ 17 ноября 2010

Возможно, вы не запускаете запланированное задание с правильными учетными данными (имя для входа).При определении переменных среды в диалоговом окне «Свойства системы» они могут быть как на уровне пользователя, так и на уровне системы.Если вы определили PYTHONPATH как уровень пользователя, то запланированное задание должно выполняться от имени этого пользователя, чтобы оно было правильно установлено.Я полагаю, что создание этого уровня на уровне системы означало бы, что оно будет применяться ко всем пользователям, если у них не определено их собственное значение.

Ниже приведен скриншот, показывающий, где устанавливаются переменные среды.Это похоже на Windows XP и Windows 7. В верхней половине правого диалогового окна отображаются текущие настройки уровня пользователя, а в нижней половине перечислены все настройки уровня системы.

screenshot of environment variable dialog box

Если PYTHONPATH появляется в списке имен в верхней группе уровня пользователя, вы можете эффективно переместить его в другое нижнее, сначала удалив, а затем добавив одно из того же имени плюс связанное значение в нижнюю Систему.уровень установлен.Чтобы немного набрать текст, вы можете отредактировать переменную уровня пользователя до , удалить ее, чтобы дать возможность сначала скопировать ее текущее значение, а затем отменить операцию.Таким образом, когда вы создаете новую копию уровня системы, вы можете просто вставить скопированное значение в нее.

0 голосов
/ 17 ноября 2010

Если другие модули принадлежат к тому же пакету, вы должны нести ответственность за их обнаружение, если они не сохраняются в обычном формате (то есть добавляют путь с помощью sys).

Если другие модули настраиваются пользователем, то пользователь должен указать установку Путь через корм PYTHONPATH

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...