Найти - Пользователи
Полная версия: Поставил py2exe-0.6.9-py2.7 хочу собрать исполняемый файл, не получает
Начало » GUI » Поставил py2exe-0.6.9-py2.7 хочу собрать исполняемый файл, не получает
1 2
MichaelN
Сделал проект с помощью Python-2.7 + SqlAlchemy-0.7b3-py2.7 + PyQt-4.
Хочу сделать переносимое приложение поставил py2exe-0.6.9-py2.7
Вот мой setup.py
from distutils.core import setup
import py2exe
setup(
version = "0.5.2",
description = "EngineGBU",
name = "EngineGBU Alpha",
windows=[{ "script":"main.py",}],
options={"py2exe":{
"excludes" : ["_scproxy",],
"includes":["sip",],
"packages": ["sqlalchemy.dialects.sqlite",]
}
}
)
Пробую собрать все в мести, получаю сообщение.

The following modules appear to be missing


Не каких ‘ElementC14N’, ‘pkg_resources’, ‘pysqlite2’, я в проекте не использую
Из подключаемых модулей в проекте у меня есть
import os
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker, scoped_session
from sqlalchemy import Column, Integer, Unicode, Date, MetaData
from PyQt4 import QtCore, QtGui
import xml.etree.ElementTree

В папке dist создается exe файл, проект работает, но стоит мне перенести его на другой пк он не запускается.
Помогите, не знаю где искать.
agalen
Может, на другом ПК не стоит Microsoft Visual C++ Redistributable ?
MichaelN
agalen
Может, на другом ПК не стоит Microsoft Visual C++ Redistributable ?
На другом ПК проинсталлирован пакет Microsoft Visual C++ Redistributable, так что дела ни в этом.
Я когда собирал приложение библиотека MSVCP90.dll попала в папку dist.
Вот пример как выглядит папка dist после сборки проекта.

ConfigGBU.cfg
gbu.db
library.zip
main.exe
MSVCP90.dll
PyQt4.QtGui.pyd
PyQt4.QtCore.pyd
sip.pyd
_ssl.pyd
_hashlib.pyd
pyexpat.pyd
bz2.pyd
select.pyd
unicodedata.pyd
_socket.pyd
_sqlite3.pyd
python27.dll
sqlite3.dll
QtGui4.dll
QtCore4.dll
PooH
Там при падении рядом с экзешником должен лог создаваться, что в нем?
MichaelN
PooH
Там при падении рядом с экзешником должен лог создаваться, что в нем?
Нет файл .log не создается.
Пробовал вчера собрать все под cx_freeze
При сборки есть Missing modules:

? ElementC14N imported from xml.etree.ElementTree
? sqlalchemy.cprocessors imported from sqlalchemy.processors
? sqlalchemy.cresultproxy imported from sqlalchemy.engine.base
? sqlalchemy.exceptions imported from sqlalchemy.orm.interfaces
? win32api imported from platform
? win32con imported from platform
? win32pipe imported from platform

Но, когда запускаешь исполняемый файл выдает сообщение об ошибке:
Traceback (most recent call last): File "C:\Python27\lib\site-packages\cx_Freeze\initscripts\Console.py", line 27, in <module>
exec code in m.__diet__
File "main.py", line 10, in <module>
File "D:\enginegbu\FuncEnginDB.py", line 9, in <module>
from enginDB import * File "D:\enginegbu\enginDB.py", line 22, in <module>
engine = create_engine('sqlite:///%s' % "gbu.db") File "C:\Python27\lib\site-packages\sqlalchemy\engine\__init__.py", line 263, in create_engine
return strategy.create(*args, **kwargs) File "C:\Python27\lib\site-packages\sqlalchemy\engine\strategies.py", line 52, in create
dialect_cls = u.get_dialect() File "C:\Python27\lib\site-packages\sqlalchemy\engine\url.py", line 105, in get_dialect
module =__import__('sqlalchemy.dialects.%s' % (dialect,)).dialects
ImportError: No module named sqlite
agalen
То, что импортируется через __import__(…) не включается при py2exe или cx_freeze. Попробуй в main.py добавить
import sqlalchemy.dialects.sqlite
MichaelN
agalen
То, что импортируется через __import__(…) не включается при py2exe или cx_freeze. Попробуй в main.py добавить
import sqlalchemy.dialects.sqlite
Добавил модуль import sqlalchemy.dialects.sqlite, помогло, теперь работает на локальной машине но стоит мне перенести приложение на другую машину, выдает сообщение программа не запускается. Теперь нет ни каких ошибок и предупреждений.
Пробовал стандартный пример из c:\Python27\Lib\site-packages\cx_Freeze\samples\PyQt4\
Собирается без ошибок, но стоит мне его перенести на другую машину тоже самое.

А почему на другой машине не хочет работать стандартный пример?
agalen
На другой машине запусти depends.exe (взять можно в Visual Studio или скачать http://www.dependencywalker.com/). Если каких-то DLL не хватает, то он покажет.
И еще, файл MSVCP90.dll в дистрибутив входить не должен.
Можно попробовать сделать как консольное приложение - что-то можно увидеть при запуске.
MichaelN
Прошу прощение что запутал всех тут, своим вопросом.

Аgalen сразу правильно натолкнул на мысль что у меня с библиотекой Microsoft Visual C++ Redistributable что то не в порядке.
Ему большой респект.

Я взял на виртуальной машине под XP поставил Python 2.6 библиотеку Microsoft Visual C++ Redistributable,
собрал проект, и подложил к нему 3 файла Microsoft.VC90.CRT.manifest, msvcp90.dll, msvcr90.dll.
Потом на чистой ОС XP попробовал запустить все заработала со старта. С версией Python 2.7
такой трюк не работает. Меня и такой вариант устраивает.
wmatrosw
Доброго времени суток всем! Люди добрые помогите пожалуйста, почему при выполнении файла setup.py возникает ошибка:
C:\Documents and Settings\OlisovN>setup.py py2exe
running py2exe
creating C:\Documents and Settings\OlisovN\build
creating C:\Documents and Settings\OlisovN\build\bdist.win32
creating C:\Documents and Settings\OlisovN\build\bdist.win32\win
creating C:\Documents and Settings\OlisovN\build\bdist.win32\win
creating C:\Documents and Settings\OlisovN\build\bdist.win32\win
creating C:\Documents and Settings\OlisovN\build\bdist.win32\win
creating C:\Documents and Settings\OlisovN\dist
*** searching for required modules ***
error: vhrvoice.pyw: No such file or directory

C:\Documents and Settings\OlisovN>setup.py py2exe
running py2exe
*** searching for required modules ***
*** parsing results ***
creating python loader for extension ‘unicodedata’ (C:\Documents
isovN\python\DLLs\unicodedata.pyd -> unicodedata.pyd)
creating python loader for extension ‘select’ (C:\Documents and
\python\DLLs\select.pyd -> select.pyd)
creating python loader for extension ‘PyQt4.QtGui’ (C:\Documents
isovN\python\lib\site-packages\PyQt4\QtGui.pyd -> PyQt4.QtGui.py
creating python loader for extension ‘_hashlib’ (C:\Documents an
vN\python\DLLs\_hashlib.pyd -> _hashlib.pyd)
creating python loader for extension ‘sip’ (C:\Documents and Set
thon\lib\site-packages\sip.pyd -> sip.pyd)
creating python loader for extension ‘bz2’ (C:\Documents and Set
thon\DLLs\bz2.pyd -> bz2.pyd)
*** finding dlls needed ***
Traceback (most recent call last):
File “C:\Documents and Settings\OlisovN\setup.py”, line 5, in
options={“py2exe”: {“includes”:}}
File “C:\Documents and Settings\OlisovN\python\lib\distutils\c
2, in setup
dist.run_commands()
File ”C:\Documents and Settings\OlisovN\python\lib\distutils\d
3, in run_commands
self.run_command(cmd)
File “C:\Documents and Settings\OlisovN\python\lib\distutils\d
2, in run_command
cmd_obj.run()
File ”C:\Documents and Settings\OlisovN\python\lib\site-packag
exe.py“, line 243, in run
self._run()
File ”C:\Documents and Settings\OlisovN\python\lib\site-packag
exe.py“, line 305, in _run
dlls = self.find_dlls(extensions)
File ”C:\Documents and Settings\OlisovN\python\lib\site-packag
exe.py“, line 389, in find_dlls
self.dll_excludes)
File ”C:\Documents and Settings\OlisovN\python\lib\site-packag
exe.py", line 1021, in find_dependend_dlls
import py2exe_util
ImportError: DLL load failed: %1 эх  ты хЄё  яЁшыюцхэшхь Win32.

Код файла Setup.py

from distutils.core import setup
import py2exe
setup(
windows=,
options={“py2exe”: {“includes”:}}
)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB