Редактиране 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 "<string>", line 104, in <module>
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, много близо до моя проблем, но безнадеждно няма отговор .
Редактиране 3: подробностите за регистрирането са премахнати, тъй като всъщност не са свързани с проблема.