Редактировать 3: Я заменил __ file __
на sys.argv [0]
, когда мне нужно знать расположение моего скрипта / исполняемого файла. Это не совсем то же самое, но в моем случае кажется, что он работает нормально (по крайней мере, в исполняемой версии ...). Теперь все работает нормально, в однофайловый режим с использованием принятой функции ответа для доступа к файлам ресурсов!
Редактировать 2: как показано в комментариях к принятому ответу, проблема возникает из-за разрешения пути в моем скрипте; я пытаюсь использовать __ file __
чтобы получить местоположение сценария, чтобы я мог получить доступ к его файлам ресурсов. После упаковки это не работает, поскольку __ file __
вернет имя файла из Python.dll
в сценарий, поэтому почти всегда нет пути, а просто имя файла. Поэтому мне нужно найти еще один трюк, чтобы получить доступ к файлам ресурсов; на данный момент временным решением является перемещение текущего каталога в исполняемый файл. бледный путь.
Между прочим, это означает, что ConfigParser должен сообщать о проблеме при доступе к файлу, а не о том, что раздел отсутствует.
Я обновлю этот вопрос, указав, как я решил этот вопрос о разрешении пути.
У меня проблемы с pyinstaller
, и, поскольку я использую его впервые, я уверен, что сделал что-то не так.
Итак, вот проблема: pyisntaller
без проблем работает с написанным мной сценарием и генерирует кое-что в папке dist
. Хорошо, теперь я хочу запустить его, чтобы проверить, все ли в порядке, и вот что я получил:
C:\Program Files\PyInstaller\pyinstaller-1.5.1>p_tool\dist\p_tool\p_tool.exe -?
Traceback (most recent call last):
File "", line 104, in
File "p_tool\build\pyi.win32\p_tool\outPYZ1.pyz/logging.config", line 76, in f
ileConfig
File "p_tool\build\pyi.win32\p_tool\outPYZ1.pyz/logging.config", line 112, in
_create_formatters
File "p_tool\build\pyi.win32\p_tool\outPYZ1.pyz/ConfigParser", line 532, in ge
t
ConfigParser.NoSectionError: No section: 'formatters'
Моя первая идея заключалась в том, что файл logging.conf
отсутствовал, поэтому я добавил его (и некоторые другие файлы ресурсов) в файле p_tool.spec
, но это не лучше.
Версия Python: 2.6.6, под WinXP. Я использую pyinstaller
, так как он мне понадобится для упаковки файлов для рабочей станции Solaris.
Итак, у кого-нибудь была эта проблема? Единственная связанная тема - это следующий вопрос: Проблема PyInstaller , очень близка к моей проблеме, но безнадежно не получила ответа.
Edit3: подробности о регистрации удалены, так как не имеют отношения к проблеме.