@mytec: iter2.2 start
This commit is contained in:
@@ -27,8 +27,8 @@ python3 -m pip install -r requirements.txt
|
||||
python3 -m pip install pyinstaller
|
||||
cd ../installer
|
||||
python3 -m PyInstaller rfcp-server.spec --clean --noconfirm
|
||||
mkdir -p ../desktop/backend-dist/darwin
|
||||
cp dist/rfcp-server ../desktop/backend-dist/darwin/
|
||||
mkdir -p ../desktop/backend-dist/mac
|
||||
cp dist/rfcp-server ../desktop/backend-dist/mac/
|
||||
cd ..
|
||||
|
||||
# 3. Create .icns icon if not exists
|
||||
|
||||
@@ -21,8 +21,8 @@ python -m pip install -r requirements.txt
|
||||
python -m pip install pyinstaller
|
||||
cd ../installer
|
||||
python -m PyInstaller rfcp-server.spec --clean --noconfirm
|
||||
mkdir -p ../desktop/backend-dist/win32
|
||||
cp dist/rfcp-server.exe ../desktop/backend-dist/win32/
|
||||
mkdir -p ../desktop/backend-dist/win
|
||||
cp dist/rfcp-server.exe ../desktop/backend-dist/win/
|
||||
cd ..
|
||||
|
||||
# 3. Build Electron app
|
||||
|
||||
@@ -13,24 +13,76 @@ a = Analysis(
|
||||
(str(backend_path / 'app'), 'app'),
|
||||
],
|
||||
hiddenimports=[
|
||||
# Uvicorn internals
|
||||
'uvicorn.logging',
|
||||
'uvicorn.loops',
|
||||
'uvicorn.loops.auto',
|
||||
'uvicorn.loops.asyncio',
|
||||
'uvicorn.protocols',
|
||||
'uvicorn.protocols.http',
|
||||
'uvicorn.protocols.http.auto',
|
||||
'uvicorn.protocols.http.h11_impl',
|
||||
'uvicorn.protocols.http.httptools_impl',
|
||||
'uvicorn.protocols.websockets',
|
||||
'uvicorn.protocols.websockets.auto',
|
||||
'uvicorn.protocols.websockets.wsproto_impl',
|
||||
'uvicorn.lifespan',
|
||||
'uvicorn.lifespan.on',
|
||||
'uvicorn.lifespan.off',
|
||||
# FastAPI / Starlette
|
||||
'fastapi',
|
||||
'fastapi.middleware',
|
||||
'fastapi.middleware.cors',
|
||||
'fastapi.routing',
|
||||
'fastapi.responses',
|
||||
'fastapi.exceptions',
|
||||
'starlette',
|
||||
'starlette.routing',
|
||||
'starlette.middleware',
|
||||
'starlette.middleware.cors',
|
||||
'starlette.responses',
|
||||
'starlette.requests',
|
||||
'starlette.concurrency',
|
||||
'starlette.formparsers',
|
||||
'starlette.staticfiles',
|
||||
# Pydantic
|
||||
'pydantic',
|
||||
'pydantic.fields',
|
||||
'pydantic_settings',
|
||||
'pydantic_core',
|
||||
# HTTP / networking
|
||||
'httpx',
|
||||
'httpcore',
|
||||
'h11',
|
||||
'httptools',
|
||||
'anyio',
|
||||
'anyio._backends',
|
||||
'anyio._backends._asyncio',
|
||||
'sniffio',
|
||||
# MongoDB (motor/pymongo)
|
||||
'motor',
|
||||
'motor.motor_asyncio',
|
||||
'pymongo',
|
||||
'pymongo.errors',
|
||||
'pymongo.collection',
|
||||
'pymongo.database',
|
||||
'pymongo.mongo_client',
|
||||
# Async I/O
|
||||
'aiofiles',
|
||||
'aiofiles.os',
|
||||
'aiofiles.ospath',
|
||||
# Scientific
|
||||
'numpy',
|
||||
'numpy.core',
|
||||
'scipy',
|
||||
'scipy.special',
|
||||
'scipy.interpolate',
|
||||
'aiosqlite',
|
||||
'sqlalchemy',
|
||||
'sqlalchemy.dialects.sqlite',
|
||||
# Multipart
|
||||
'multipart',
|
||||
'python_multipart',
|
||||
# Encoding
|
||||
'email.mime',
|
||||
'email.mime.multipart',
|
||||
],
|
||||
hookspath=[],
|
||||
hooksconfig={},
|
||||
@@ -58,7 +110,7 @@ exe = EXE(
|
||||
upx=True,
|
||||
upx_exclude=[],
|
||||
runtime_tmpdir=None,
|
||||
console=False, # No console window
|
||||
console=True, # Show console for debugging — set to False for release
|
||||
disable_windowed_traceback=False,
|
||||
target_arch=None,
|
||||
codesign_identity=None,
|
||||
|
||||
Reference in New Issue
Block a user