Commit 0cedada8 authored by huteng.ht's avatar huteng.ht
Browse files

feat(setup): add get_libcfs command in setup



* user can run `python setup.py get_libcfs` to download libcfs.so
manually before install, the url can be specified through `--src` or `-s`.
Signed-off-by: default avatarhuteng.ht <huteng.ht@bytedance.com>
parent d863ada2
...@@ -16,6 +16,7 @@ Tips: 该指令会优先下载与当前 Python、PyTorch 版本匹配的 whl 文 ...@@ -16,6 +16,7 @@ Tips: 该指令会优先下载与当前 Python、PyTorch 版本匹配的 whl 文
如果已经安装失败,可以尝试通过下载源码进行安装: 如果已经安装失败,可以尝试通过下载源码进行安装:
```bash ```bash
cd veturboio cd veturboio
python setup.py get_libcfs
python setup.py install python setup.py install
``` ```
......
...@@ -15,12 +15,14 @@ limitations under the License. ...@@ -15,12 +15,14 @@ limitations under the License.
''' '''
import os import os
import torch
from setuptools import find_packages, setup
from torch.utils.cpp_extension import BuildExtension, CUDAExtension, CppExtension
import platform import platform
import requests
import setuptools
import torch
from pkg_resources import parse_version from pkg_resources import parse_version
from setuptools import find_packages, setup
from torch.utils.cpp_extension import BuildExtension, CppExtension, CUDAExtension
# initialize variables for compilation # initialize variables for compilation
IS_LINUX = platform.system() == "Linux" IS_LINUX = platform.system() == "Linux"
...@@ -98,6 +100,28 @@ def get_veturboio_extension(): ...@@ -98,6 +100,28 @@ def get_veturboio_extension():
) )
class GetLibCfsCommand(setuptools.Command):
"""get libcfs from url"""
description = 'get libcfs from url'
user_options = [('src=', 's', 'source url of libcfs.so'), ('dst=', 'd', 'dest filepath of libcfs.so')]
def initialize_options(self):
from veturboio.utils.load_veturboio_ext import LIBCFS_DEFAULT_PATH, LIBCFS_DEFAULT_URL
self.src = LIBCFS_DEFAULT_URL
self.dst = LIBCFS_DEFAULT_PATH
def finalize_options(self):
pass
def run(self):
print(f"download libcfs.so from {self.src}, save to {self.dst}")
r = requests.get(self.src, timeout=60)
with open(self.dst, 'wb') as f:
f.write(r.content)
setup( setup(
name="veturboio", name="veturboio",
version=get_version(), version=get_version(),
...@@ -113,5 +137,5 @@ setup( ...@@ -113,5 +137,5 @@ setup(
"requests", "requests",
], ],
include_package_data=True, include_package_data=True,
cmdclass={"build_ext": BuildExtension}, cmdclass={"get_libcfs": GetLibCfsCommand, "build_ext": BuildExtension},
) )
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment