#python #dll #installation #python-standalone
#python #dll #установка #python-standalone
Вопрос:
У нас есть сложный инструмент (закодированный на Python) для проверки и настройки среды. Он работает на различных версиях Windows. До сих пор мы использовали этот инструмент в компании. Однако теперь мы хотим, чтобы наши инженеры службы поддержки использовали его в дороге. Проблема в том, что у них не будет разрешений на установку Python на компьютерах клиентов.
Чтобы исправить эту ситуацию, мы рассмотрели такие утилиты, как py2exe, cx_freeze и PyInstaller. Несмотря на то, что они хороши, сгенерированный EXE-файл в некоторых ситуациях сталкивается с проблемами зависимости. Поэтому мы отказались от использования этих инструментов.
Можно ли взять все связанные с python файлы на флеш-накопителе и запустить их непосредственно с него? Когда мы это делаем, очевидно, что интерпретатор жалуется, потому что библиотеки DLL не зарегистрированы на целевой машине. Я подозреваю, что простая регистрация DLL-файлов может привести к другим проблемам. Есть ли простое решение для этого?
Комментарии:
1. Какие библиотеки DLL необходимо зарегистрировать?
2. python27.dll вот где все началось
3. Запуск WinPython на USB-накопителе должен работать, не так ли? Конечно, вы должны быть осторожны с путями и т. Д., Поскольку не будет никаких переменных окружения.
4. Решением может быть WinPython. Однако наше приложение не запускается из коробки, поскольку оно использует PyGTK. Я не нашел простого способа получить PyGTK с помощью WinPython. Другая проблема заключается в том, что WinPython нацелен на научные вычисления и имеет большой набор библиотек, которые нам могут не понадобиться.
Ответ №1:
Предположим, что ваш скрипт main.py
,
- скопируйте все содержимое каталога python в каталог, в котором он находится
- выполните поиск
python*.dll
в вашем каталоге Windows и найдитеproject/python
- Создать
project/main.bat
:
main.bat
"%~dp0/python/python.exe" "%~dp0/main.py" %*
Каталог проекта должен быть:
project
├── python
| ├── python.exe
| ├── python27.dll
| └── ...
├── main.py
└── main.bat
Теперь вызовите программу с помощью main.bat
Комментарии:
1. Я надеялся, что это сработает! К сожалению, это не так. Выдает ту же ошибку, что и раньше. Библиотека DLL python по-прежнему не зарегистрирована в Windows.
2. Найдите
python*.dll
в своем каталоге Windows и скопируйте его вproject/python
каталог.3. Потрясающе, у меня это работает! Спасибо @napuzba. Для других, кто хочет попробовать это: обратите внимание, что python27.dll находится не в папке установки, а в C:WindowsSystem32 .