Установка python с расширениями Python win32 на сетевом диске

Мне нужно сохранить большое количество машин Windows XP под управлением той же версии python, с ассортиментом модулей, одним из которых является python-win32. Я подумал об установке python на сетевой диск, который монтируется всеми клиентскими машинами, и просто отрегулируйте путь на клиентах. Python отлично запускается из сети, но при импорте win32com я получаю всплывающее сообщение об ошибке:

точка входа процедуру ?PyWinObject_AsHANDLE@@YAHPAU_object@@PAPAXH@Z не удалось найти в динамической библиотеке pywintypes24.dll файлы

после отклонения диалогового окна сообщения я получаю в консоли:

ImportError: ошибка загрузки DLL: не удалось найти указанную процедуру.

Я искал в каталоге python pywintypes24.dll и присутствует в "Libsite-packagespywin32_system32" .

чего мне не хватает, и есть ли другой способ, которым я могу установить Python + Python-Win32 + дополнительный модуль один раз и запустить их на многих машинах? У меня нет доступа к инструментам управления системами Microsoft, поэтому мне нужно быть немного более тормознутым, чем.

4 ответов


на каждой машине вы должны в основном запустить следующие pywin32_postinstall.py -install раз. Предполагая, что ваша установка python в сети N:\Python26 выполните следующую команду на каждом клиенте:

N:\Python26\python.exe N:\Python26\Scripts\pywin32_postinstall.py -install

еще одна важная вещь Good Luck!. Причина в том, что вам может потребоваться сделать это как admin. В моем случае такая установка работала для всех, кроме одного компьютера. Я все еще не понимал почему.


Python (или, точнее, ОС) ищет библиотеки DLL с помощью ОС.environ ["путь"], а не путем поиска sys.путь.

таким образом, Вы можете запустить Python с помощью простого .cmd-файл, который добавляет \server\share\python26 к пути (учитывая, что установщик (или вы) скопировали DLL из \server\share\python26\lib\site-packages\pywin32-system32 в \server\share\python26).

или вы можете добавить следующий код в свои скрипты, прежде чем они попытаются импортировать win32api и т. д.:

    # Add Python installation directory to the path, 
    # because on Windows 7 the pywin32 installer fails to copy
    # the required DLLs to the %WINDIR%\System32 directory and
    # copies them to the Python installation directory instead.
    # Fortunately, in Python it is possible to modify the PATH
    # before loading the DLLs.
    os.environ["PATH"] = sys.prefix + ";" + os.environ.get("PATH")
    import win32gui
    import win32con

" "" Я искал в каталоге python pywintypes24.dll и она присутствует в "Lib\site-packages\pywin32_system32" """. Существование DLL не в вопрос. Это точка входа в ДЛЛ?

вы пробовали установив точно такую же конфигурацию на сетевом диске?

вы пробовали импортировать другие модули в пакете?

вы проверили библиотеки DLL с помощью зависимостей walker или что-то подобное?

тут "24" в pywintypes24.dll означает Python 2.4? Какую версию Python вы используете?


можно использовать пакетные файлы, запущенные при загрузке to

  • подключить сетевой папке (net use \server\share)
  • скопируйте установщики Python и пакетов из общего сетевого ресурса в локальную папку
  • проверьте версию установщика msi на соответствие установленной версии
  • если отличается, удалите Python и все зависящие от версии пакеты
  • переустановить все пакеты

Это будет в значительной степени рулон ваш собственный центральная система управления для этого софта.