pytorch
a5a4924c - Warn if `import torch` is called from the source root. (#39995)

Commit
4 years ago
Warn if `import torch` is called from the source root. (#39995) Summary: This is a small developer quality of life improvement. I commonly try to run some snippet of python as I'm working on a PR and forget that I've cd-d into the local clone to run some git commands, resulting in annoying failures like: `ImportError: cannot import name 'default_generator' from 'torch._C' (unknown location)` This actually took a non-trivial amount of time to figure out the first time I hit it, and even now it's annoying because it happens just infrequently enough to not sit high in the mental cache. This PR adds a check to `torch/__init__.py` and warns if `import torch` is likely resolving to the wrong thing: ``` WARNING:root:You appear to be importing PyTorch from a clone of the git repo: /data/users/taylorrobie/repos/pytorch This will prevent `import torch` from resolving to the PyTorch install (instead it will try to load /data/users/taylorrobie/repos/pytorch/torch/__init__.py) and will generally lead to other failures such as a failure to load C extensions. ``` so that the soon to follow internal import failure makes some sense. I elected to make this a warning rather than an exception because I'm not 100% sure that it's **always** wrong. (e.g. weird `PYTHONPATH` or `importlib` corner cases.) EDIT: There are now separate cases for `cwd` vs. `PYTHONPATH`, and failure is an `ImportError`. Pull Request resolved: https://github.com/pytorch/pytorch/pull/39995 Reviewed By: malfet Differential Revision: D23817209 Pulled By: robieta fbshipit-source-id: d9ac567acb22d9c8c567a8565a7af65ac624dbf7
Author
Taylor Robie
Parents
Loading