Install binaries via pip install (#112)

When pepole use pip install sherpa-onnx, they also get the following binaries:

(py38) fangjuns-MacBook-Pro:bin fangjun$ ls -lh  sherpa-onnx*
-rwxr-xr-x  1 fangjun  staff    36K Apr  4 13:48 sherpa-onnx
-rwxr-xr-x  1 fangjun  staff    52K Apr  4 13:48 sherpa-onnx-microphone
-rwxr-xr-x  1 fangjun  staff    54K Apr  4 13:48 sherpa-onnx-microphone-offline
-rwxr-xr-x  1 fangjun  staff    37K Apr  4 13:48 sherpa-onnx-offline
-rwxr-xr-x  1 fangjun  staff   634K Apr  4 13:48 sherpa-onnx-offline-websocket-server
-rwxr-xr-x  1 fangjun  staff   710K Apr  4 13:48 sherpa-onnx-online-websocket-client
-rwxr-xr-x  1 fangjun  staff   651K Apr  4 13:48 sherpa-onnx-online-websocket-server
(py38) fangjuns-MacBook-Pro:bin fangjun$ pwd
/Users/fangjun/py38/bin
This commit is contained in:
Fangjun Kuang
2023-04-04 15:45:59 +08:00
committed by GitHub
parent 7f7e3680c3
commit 726680c5e0
6 changed files with 140 additions and 8 deletions

View File

@@ -39,6 +39,28 @@ install_requires = [
"numpy",
]
def get_binaries_to_install():
bin_dir = Path("build") / "sherpa_onnx" / "bin"
bin_dir.mkdir(parents=True, exist_ok=True)
suffix = ".exe" if is_windows() else ""
# Remember to also change cmake/cmake_extension.py
binaries = ["sherpa-onnx"]
binaries += ["sherpa-onnx-offline"]
binaries += ["sherpa-onnx-microphone"]
binaries += ["sherpa-onnx-microphone-offline"]
binaries += ["sherpa-onnx-online-websocket-server"]
binaries += ["sherpa-onnx-offline-websocket-server"]
binaries += ["sherpa-onnx-online-websocket-client"]
exe = []
for f in binaries:
t = bin_dir / (f + suffix)
exe.append(str(t))
return exe
setuptools.setup(
name=package_name,
python_requires=">=3.6",
@@ -50,6 +72,7 @@ setuptools.setup(
"sherpa_onnx": "sherpa-onnx/python/sherpa_onnx",
},
packages=["sherpa_onnx"],
data_files=[("bin", get_binaries_to_install())],
url="https://github.com/k2-fsa/sherpa-onnx",
long_description=read_long_description(),
long_description_content_type="text/markdown",