Vendor pyusb wheel for offline Windows source installs

Include pyusb-1.2.1-py3-none-any.whl under vendor/wheels and wire
setup scripts to pip install --no-index --find-links.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
joyharam
2026-07-15 10:44:09 +09:00
parent ec99c5eac6
commit 861b569994
10 changed files with 52 additions and 9 deletions
+5 -3
View File
@@ -1,4 +1,5 @@
.venv/ .venv/
.venv-build/
.venv-build-win/ .venv-build-win/
__pycache__/ __pycache__/
*.py[cod] *.py[cod]
@@ -10,7 +11,8 @@ build/
analysis/ analysis/
*.zip *.zip
*.tar.gz *.tar.gz
# keep vendor/libusb-1.0.dll in repo for Windows bundling
!vendor/libusb-1.0.dll
.venv-build/
hub.log hub.log
# keep vendor binaries
!vendor/libusb-1.0.dll
!vendor/wheels/
!vendor/wheels/*.whl
+5 -1
View File
@@ -59,10 +59,14 @@ python -m juc500_xfer info
cd juc500 cd juc500
py -3 -m venv .venv py -3 -m venv .venv
.\.venv\Scripts\Activate.ps1 .\.venv\Scripts\Activate.ps1
pip install -r requirements.txt # vendor\wheels\pyusb-*.whl 사용 (PyPI 불필요)
python -m pip install --no-index --find-links=vendor\wheels -r requirements.txt
pip install -e .
python -m juc500_xfer info python -m juc500_xfer info
``` ```
또는 `scripts\setup_windows.bat` 실행.
## 사용법 ## 사용법
양쪽 PC에 케이블을 꽂고, **먼저 수신 쪽**, 이어서 송신 쪽을 실행합니다. 양쪽 PC에 케이블을 꽂고, **먼저 수신 쪽**, 이어서 송신 쪽을 실행합니다.
+15
View File
@@ -1,5 +1,20 @@
# Windows 11 설정 # Windows 11 설정
## 소스에서 실행 (오프라인 wheel 포함)
저장소의 `vendor/wheels/pyusb-1.2.1-py3-none-any.whl` 을 사용합니다. PyPI 접속이 없어도 됩니다.
```powershell
cd juc500
py -3 -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --no-index --find-links=vendor\wheels -r requirements.txt
pip install -e .
python -m juc500_xfer gui
```
또는 `scripts\setup_windows.bat`
## 설치파일 사용 (권장) ## 설치파일 사용 (권장)
1. `JUC500-Setup-win64.exe` 실행해 설치 1. `JUC500-Setup-win64.exe` 실행해 설치
+1 -1
View File
@@ -8,7 +8,7 @@ version = "0.1.0"
description = "Apple Silicon Mac ↔ Windows 11 file transfer over j5create JUC500" description = "Apple Silicon Mac ↔ Windows 11 file transfer over j5create JUC500"
readme = "README.md" readme = "README.md"
requires-python = ">=3.10" requires-python = ">=3.10"
dependencies = ["pyusb>=1.2.1"] dependencies = ["pyusb==1.2.1"]
[project.scripts] [project.scripts]
juc500 = "juc500_xfer.cli:main" juc500 = "juc500_xfer.cli:main"
+4 -1
View File
@@ -1 +1,4 @@
pyusb>=1.2.1 # vendor/wheels 의 pyusb wheel을 우선 사용합니다.
# 오프라인: pip install --no-index --find-links=vendor/wheels -r requirements.txt
--find-links=vendor/wheels
pyusb==1.2.1
+4 -1
View File
@@ -14,12 +14,15 @@ python3 -m venv .venv
# shellcheck disable=SC1091 # shellcheck disable=SC1091
source .venv/bin/activate source .venv/bin/activate
pip install -U pip pip install -U pip
pip install -r requirements.txt # vendor wheel 우선 (오프라인 가능)
pip install --no-index --find-links=vendor/wheels -r requirements.txt \
|| pip install --find-links=vendor/wheels -r requirements.txt
pip install -e . pip install -e .
echo echo
echo "설치 완료. 예:" echo "설치 완료. 예:"
echo " source $ROOT/.venv/bin/activate" echo " source $ROOT/.venv/bin/activate"
echo " juc500 info" echo " juc500 info"
echo " juc500 gui"
echo " juc500 recv -y --dest ~/Downloads" echo " juc500 recv -y --dest ~/Downloads"
echo " juc500 send /path/to/file" echo " juc500 send /path/to/file"
+11 -2
View File
@@ -5,12 +5,21 @@ cd /d %~dp0..
py -3 -m venv .venv py -3 -m venv .venv
call .venv\Scripts\activate.bat call .venv\Scripts\activate.bat
python -m pip install -U pip python -m pip install -U pip
pip install -r requirements.txt REM PyPI 없이 vendor\wheels 의 pyusb wheel 사용
pip install -e . python -m pip install --no-index --find-links=vendor\wheels -r requirements.txt
if errorlevel 1 (
echo [!] --no-index 실패. find-links + 온라인 허용으로 재시도…
python -m pip install --find-links=vendor\wheels -r requirements.txt
)
python -m pip install --no-index --find-links=vendor\wheels -e .
if errorlevel 1 (
python -m pip install --find-links=vendor\wheels -e .
)
echo. echo.
echo Setup done. Next: echo Setup done. Next:
echo .venv\Scripts\activate echo .venv\Scripts\activate
echo python -m juc500_xfer info echo python -m juc500_xfer info
echo python -m juc500_xfer gui
echo See docs\WINDOWS.md for Zadig / WinUSB steps. echo See docs\WINDOWS.md for Zadig / WinUSB steps.
endlocal endlocal
+7
View File
@@ -0,0 +1,7 @@
# Place offline Python wheels here for Windows/macOS installs without PyPI.
# Currently vendor'd:
# pyusb-1.2.1-py3-none-any.whl
# pyusb-1.3.1-py3-none-any.whl
#
# Install:
# pip install --no-index --find-links=vendor/wheels -r requirements.txt
Binary file not shown.
Binary file not shown.