Подтвердить что ты не робот

Установите Python 2.6 без использования установщика на Win32

Мне нужно запустить Python script на компьютере, на котором не установлен Python. Я использую Python как часть программного пакета, а Python работает за занавеской без уведомления пользователя об этом.

То, что я сделал, было следующим.

  • Скопировать python.exe, python26.dll, msvcr90.dll и Microsoft.VC90.CRT.manifest
  • Замените весь каталог в каталоге LIBs как python26.zip
  • Скопируйте все необходимые DLL файлы в каталог DLL.

Кажется, что это работает, но когда я изменяю python26.zip на другое имя, такое как pythonlib.zip, он больше не может найти библиотеку Python.

  • Вопрос 1: Какая магия за именем python26.zip? Python автоматически находит библиотеку внутри python26.zip, но не с другим именем?
  • Вопрос 2: Если у меня есть python26.zip в том же каталоге, где находится python.exe/python26.dll, мне не нужно добавлять путь sys.path.append (THE PATH TO python26.zip). Правильно ли это?

Python имеет встроенные библиотеки, а sys - один из них. Я думал, что могу использовать sys.path, чтобы указать на любую библиотеку Python в ZIP файле, который мне нужен. Но, что удивительно, если я использую имя библиотеки как Python26.zip, это просто сработало. Почему это так?

4b9b3361

Ответ 1

Я просмотрел исходный код интерпретатора Python, и я сделал несколько экспериментов. И я обнаружил, что интерпретатор Python добавляет "THE DIRECTORY of PYTHONXXX.DLL + pythonXXX.zip", несмотря ни на что. XXX - это версия интерпретатора Python.

В результате, если есть python26.zip в том же каталоге, что и python26.dll. Я мог бы использовать всю библиотеку Python автоматически.

Ответ 2

Я использую PortablePython в течение года, и я нахожу это замечательным, поскольку он работает над моей заблокированной работой -notebook.

Существует версия Python 2.5.4, 2.6.1 и 3.0.1.

Ответ 3

Из блог Сильвен-Пойнт:

Процедура на самом деле очень проста, просто загрузите программу установки msi из http://www.python.org/getit/ и введите команду:

C:\development\apps>msiexec /a python-3.3.2.msi /qb TARGETDIR=C:\development\apps\python33

В его примере используется msiexec (например, MSI Administrative Installer для вас UniExtract people), чтобы принудительно извлечь фрагмент в TARGETDIR. Вы заметите, что есть внутренний установщик, который вы удаляете.

EDIT: вы также можете заставить его замолчать, но делать это каждый раз, когда вы хотите использовать python, кажется немым. Просто извлеките его в tempdir, а затем очистите, когда он удалит его.

PS: Я не видел, сколько лет прошло!: D

Ответ 4

Другой вариант - установка WinPython. Он использует установщик, но он не требует прав администратора (протестирован в Windows 7). В отличие от Portable Python, он даже имеет версию Python 3.3.5.

Ответ 5

Другим вариантом может быть рассмотрение PyInstaller, который будет создавать автономные приложения Python кросс-платформенными. На главной странице:

PyInstaller - это программа, которая преобразует (пакеты) программы Python в автономные исполняемые файлы под Windows, Linux и Mac OS X. [...] Основная задача PyInstaller - совместимость с сторонними пакетами -of коробки. Это означает, что с PyInstaller все необходимые трюки для работы с внешними пакетами уже интегрированы в PyInstaller, так что не требуется вмешательства пользователя. Вам никогда не придется искать трюки в вики и применять пользовательскую модификацию к вашим файлам или вашим сценариям установки. Например, библиотеки, такие как PyQt и Matplotlib, полностью поддерживаются без необходимости обрабатывать плагины или внешние файлы данных вручную. Проверьте наш список совместимости с поддерживаемыми пакетами.

Ответ 6

py2exe позволит вам скомпилировать ваш Python script в исполняемый файл Windows. Он может работать или не работать лучше, чем PortablePython, но, возможно, он может быть немного более чистым в отношении количества файлов, которые необходимо распространять для вашей программы "за занавесом".