Форум сайта python.su
88
RazlaguttПортабельный, только портабельную сборку нужно не из виртуального окружения ваять. Я брал за основу содержимое дистрибутива аналогичной с venv версии и сливал туда виртуалку, а сверху заправлял python*.dll
ShamanА разве питон сам по себе не портабельный? По-моему очень даже.
Отредактировано Shaman (Фев. 5, 2015 22:12:41)
Офлайн
0
Shaman
Правильно ля я тебя понял? Ты использовал не virtualenv, а venv. В ней делал проект и копировал туда длл.
Офлайн
88
RazlaguttНеправильно. Я просто сократил слово.
ShamanПравильно ля я тебя понял? Ты использовал не virtualenv, а venv. В ней делал проект и копировал туда длл.
Офлайн
0
Shaman
Ну тогда я тоже самое сделал.
1. Ставим питон как обычно
2. Через cmd pip install verualenv
3. vertualenv .\my\project
4. .\my\project\Scripts\activate
Потом кидаем длл и все. На чужой машине не работает))))))))
Офлайн
88
В списке не вижу этапа слияния дерева каталогов проекта с дистрибутивом питона.
Проще: сколько файлов содержится в каталоге lib питона и одноимённом каталоге проекта?
Офлайн
0
Слияния не было. А ты просто копировал Lib? И только ли Lib? Как ты этот этап делал?
Файлов: в проекте: 47, в исходнике: 163
Подкаталогов: в проекте: 6, в исходнике: 32
Офлайн
88
RazlaguttДа - только Lib копировал в голый дистрибутив питона ибо там все необходимые библиотеки. Каталог scripts виртуалки не нужен, равно как и include c libs самого питона.
А ты просто копировал Lib? И только ли Lib?
[Files]
Source: "DLLs\*"; DestDir: "{app}\DLLs"; Flags: recursesubdirs
Source: "Lib\*"; DestDir: "{app}\Lib"; Flags: recursesubdirs
Source: "oms\*"; DestDir: "{app}\oms"; Flags: recursesubdirs
Source: "python.exe"; DestDir: "{app}"
Source: "pythonw.exe"; DestDir: "{app}"
Source: "w9xpopen.exe"; DestDir: "{app}"
Source: "python27.dll"; DestDir: "{app}"
Source: "exchange.ico"; DestDir: "{app}"
Source: "pgpass.conf.add"; DestDir: "{tmp}"
Source: "install.cmd"; DestDir: "{tmp}"
Source: "vcredist_x86(2008).exe"; DestDir: "{tmp}"
Source: "postgresql-9.3.5-3-windows.exe"; DestDir: "{tmp}"; AfterInstall: AfterComponentInstall()
[Icons]
Name: "{group}\{cm:Launch}"; Filename: "{app}\pythonw.exe"; Parameters: """{app}\oms\main.py"""; IconFilename: "{app}\exchange.ico"
Name: "{commondesktop}\{cm:LaunchDesktop}"; Filename: "{app}\pythonw.exe"; Parameters: """{app}\oms\main.py"""; IconFilename: "{app}\exchange.ico"
Name: "{group}\{cm:UninstIcon}"; Filename: "{uninstallexe}"
Офлайн
0
Shaman
Хорошо, завтра попробую. Спасибо!
Офлайн
0
Shaman
В общем из предложенного ничего не помогло. Полез в гугл выяснять, что за ошибка это такая 0xc000007b. Выяснилось что с питоном конкретно она не связана, а связана по большей части с глюками дров, ОС и самой программы. Тогда я решил поставить версию старенькую какую-нибудь, 3.2 например. С этой версией запускаю свою прогу на ПК, где питона нет, а он опять просит python34.dll. И тут я понял в чем дело. У меня очень сильно загажена система питоновским мусором разных версий. Во время чистке я воочию увидел, что я прав. После тотальной чистке и установке по новой последней версии интерпретатора все заработало. Правда я уже не стал юзать виртуалку. Просто перенес всю папку с питоном в дргую папку и там ее вычистил, глядя на твой пример, с 180 метров до 64. Создал батник, вызывающий мой скрипт и конвертнул его в ехе.
Еще вопрос. Ты пробовал писать скрипт на 64-разрядном питоне, а потом запускать его на ПК 32-разрядном? Работает вообще?
Офлайн
88
RazlaguttПри смене основной версии питона нужно так же заменять в проекте все питоновские библиотеки, имеющие бинарные составляющие (*.pyd).
Тогда я решил поставить версию старенькую какую-нибудь, 3.2 например. С этой версией запускаю свою прогу на ПК, где питона нет, а он опять просит python34.dll.
RazlaguttДавненько когда-то пробовал запускать и утыкался в разницу размеров int, но эта проблема может вылезти только в ряде довольно специфических случаев, где она ожидаема. Чтобы не заморачиваться пока всё делаю под x86.
Ты пробовал писать скрипт на 64-разрядном питоне, а потом запускать его на ПК 32-разрядном? Работает вообще?
Отредактировано Shaman (Фев. 7, 2015 14:10:50)
Офлайн