PyInstaller - Как вы обрабатываете переменные среды? - PullRequest
0 голосов
/ 02 июля 2018

Справочная информация:

Я пытаюсь преобразовать скрипт Python в исполняемый файл, который можно использовать на других компьютерах. Я решил использовать PyInstaller. Я использую Python 2.7.13 / Anaconda 2.2.0 (64-разрядная версия) . Я, конечно, видел много примеров, и я могу добиться этого на основных примерах. Однако сценарий, над которым я сейчас работаю, использует переменные среды. Следующий блок кода появляется в начале моего Python-скрипта:

import os
# force qt4
os.environ['ETS_TOOLKIT'] = 'qt4'
os.environ['QT_API'] = 'pyqt'

from traits.api import HasTraits, Range, Instance, Button, on_trait_change, Bool, Str, Enum, Float, Int
from traitsui.api import View, Item, Group, HGroup, spring, Handler, Action, InstanceEditor, Menu, MenuBar, message, \
    Tabbed
from mayavi.core.ui.api import MayaviScene, SceneEditor, MlabSceneModel
from pyface.api import FileDialog, OK
import yaml
from mayavi import mlab
import numpy as np
from collections import namedtuple
import gdal

Проблема:

Запуск pyinstaller --onefile filename.py в командной строке создает .exe, но он не запускается из-за ошибки: ImportError: No module named qt4. «Qt4» не является модулем, поэтому я предполагаю, что проблема связана с строка "os.environ['ETS_TOOLKIT'] = 'qt4 '". Изучив различные вопросы, связанные с PyInstaller, я знаю, как использовать «hiddenimports», но понятия не имею, как обращаться с переменными среды. Очевидно, что-то вроде pyinstaller --onefile --hidden-import qt4 filename.py не сработало.

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