mirror of
https://github.com/zebrajr/pytorch.git
synced 2025-12-07 00:21:07 +01:00
Summary:
1. I fixed the importing process, which had some problems
- **I think `setup_helpers` should not be imported as the top level module. It can lead to many future errors. For example, what if `setup_helpers` imports another module from the upper level?** So we need to change it.
- The code is not consistent with other modules in `tools` package. For example, other
modules in the package imports `from tools.setuptools...` not `from setuptools...`.
- **It should be able to run with `python -m tools.build_libtorch` command** because this module is a part of the tools package. Currently, you cannot do that and I think it's simply wrong.
~~2. I Added platform specific warning messages.
- I constantly forgot that I needed to define some environment variables in advance specific to my platform to build libtorch, especially when I'm working at a non pytorch root directory. So I thought adding warnings for common options would be helpful .~~
~~3. Made the build output path configurable. And a few other changes.~~
orionr ebetica
Pull Request resolved: https://github.com/pytorch/pytorch/pull/15471
Differential Revision: D13709607
Pulled By: ezyang
fbshipit-source-id: 950d5727aa09f857d973538c50b1ab169d88da38
38 lines
1.4 KiB
Python
38 lines
1.4 KiB
Python
import argparse
|
|
import os
|
|
from os.path import dirname, abspath
|
|
import shlex
|
|
import subprocess
|
|
import sys
|
|
|
|
# By appending pytorch_root to sys.path, this module can import other torch
|
|
# modules even when run as a standalone script. i.e., it's okay either you
|
|
# do `python build_libtorch.py` or `python -m tools.build_libtorch`.
|
|
pytorch_root = dirname(dirname(abspath(__file__)))
|
|
sys.path.append(pytorch_root)
|
|
|
|
# If you want to modify flags or environmental variables that is set when
|
|
# building torch, you should do it in tools/setup_helpers/configure.py.
|
|
# Please don't add it here unless it's only used in LibTorch.
|
|
from tools.setup_helpers.configure import get_libtorch_env_with_flags, IS_WINDOWS
|
|
|
|
if __name__ == '__main__':
|
|
# Placeholder for future interface. For now just gives a nice -h.
|
|
parser = argparse.ArgumentParser(description='Build libtorch')
|
|
options = parser.parse_args()
|
|
|
|
tools_path = os.path.dirname(os.path.abspath(__file__))
|
|
if IS_WINDOWS:
|
|
build_pytorch_libs = os.path.join(tools_path, 'build_pytorch_libs.bat')
|
|
else:
|
|
build_pytorch_libs = os.path.join(tools_path, 'build_pytorch_libs.sh')
|
|
|
|
command = [build_pytorch_libs]
|
|
my_env, extra_flags = get_libtorch_env_with_flags()
|
|
command.extend(extra_flags)
|
|
command.append('caffe2')
|
|
|
|
sys.stdout.flush()
|
|
sys.stderr.flush()
|
|
subprocess.check_call(command, universal_newlines=True, env=my_env)
|