2

У меня есть короткий скрипт Python, который установлен в качестве браузера по умолчанию в реестре. Он выберет запуск IE или Firefox на основе URL (некоторые рабочие сайты работают только в IE). Раньше я просто использовал полный путь к установке python, чтобы запустить его, но недавно он сломался из-за изменения места установки python (теперь он связан с файлами нашего проекта, поэтому он может меняться чаще). Путь должен обновляться при его перемещении, поэтому достаточно просто найти питона в зависимости от текущей среды.

Это старая запись команды реестра:

[HKEY_CLASSES_ROOT\RRBrowserChooserURL\ оболочки \ открытая команда \]

@ = "\" C:\\ Python26 \\ python.exe \ "\" C:\\ browser_chooser.pyw \ "\"% 1 \ ""

Вот лучший рабочий вариант, который я придумал до сих пор:

[HKEY_CLASSES_ROOT\RRBrowserChooserURL\ оболочки \ открытая команда \]

@ = "\" C:\\ Windows \\ System32 \\ cmd.exe \ "\"/c \ "\" C:\\ browser_chooser.pyw \ "\"% 1 \ ""

Тем не менее, это кратко всплывает командное окно при открытии ссылки. Я бы хотел этого избежать.

Не переписывая мой сценарий на другом языке и не компилируя его в исполняемый файл, на который я могу ссылаться напрямую, есть ли хороший способ заставить его выполняться без знания пути?

3 ответа3

1

Вам нужно будет добавить путь Python к системной переменной PATH или создать новую системную переменную, похожую на PYTHONDIR, указав эту точку в каталоге Python, а затем вызвать python.exe с помощью% PYTHONDIR%\python.exe

PS. Почему вы не используете вкладки IE надстройки Firefox?

0

Можете ли вы использовать файл .lnk (т. Е. Ярлык файловой системы) в поле open\command в реестре?  Если это так, создайте ярлык, который запускает команду cmd /c и для элемента управления «Выполнить» установлено значение «Свернуто»:

окно свойств ярлыка с Run = Minimized обведено

cmd.exe все равно будет работать, но не будет появляться окно; он будет отображать только кнопку панели задач.

0

Если компиляция без перезаписи является опцией, вы можете скомпилировать ваш скрипт на python в exe с помощью py2exe или pyinstaller - он скомпилирует его в автономный exe- файл и dll, которые вы можете использовать для самостоятельного запуска приложения с собственной копией python. как длл.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .