* add notice about putting imports inside functions
* Fix based on feedback
* notice on custom_components handling of deps
* Update creating_component_deps_and_reqs.md
Installing `tox-venv` on OSX allows `tox` tests to be run, per https://community.home-assistant.io/t/installing-hass-on-macos-osx/69292
Alternatively, `tox-venv` _could_ be added directly into the https://github.com/home-assistant/home-assistant/blob/dev/script/bootstrap file, but since nobody outside of OSX developers seem to be having this problem it seemed safer to simply note it in the documentation.
Without installing `tox-venv` the following occurs:
ERROR: invocation failed (exit code 100), logfile: /Users/neilcrosby/Documents/git-projects.nosync/home-assistant/.tox/py37/log/py37-0.log
ERROR: actionid: py37
msg: getenv
cmdargs: '/Users/neilcrosby/Documents/git-projects.nosync/home-assistant/bin/python3 -m virtualenv --python /Users/neilcrosby/Documents/git-projects.nosync/home-assistant/bin/python3 py37'
/Users/neilcrosby/Documents/git-projects.nosync/home-assistant/lib/python3.7/site-packages/virtualenv.py:1041: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
import imp
Already using interpreter /Users/neilcrosby/Documents/git-projects.nosync/home-assistant/bin/python3
Using base prefix '/usr/local/bin/../Cellar/python/3.7.0/bin/../Frameworks/Python.framework/Versions/3.7'
New python executable in /Users/neilcrosby/Documents/git-projects.nosync/home-assistant/.tox/py37/bin/python3
Also creating executable in /Users/neilcrosby/Documents/git-projects.nosync/home-assistant/.tox/py37/bin/python
ERROR: The executable /Users/neilcrosby/Documents/git-projects.nosync/home-assistant/.tox/py37/bin/python3 is not functioning
ERROR: It thinks sys.prefix is '/usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7' (should be '/Users/neilcrosby/Documents/git-projects.nosync/home-assistant/.tox/py37')
ERROR: virtualenv is not compatible with this system or executable
ERROR: Error creating virtualenv. Note that some special characters (e.g. ':' and unicode symbols) in paths are not supported by virtualenv. Error details: InvocationError('/Users/neilcrosby/Documents/git-projects.nosync/home-assistant/bin/python3 -m virtualenv --python /Users/neilcrosby/Documents/git-projects.nosync/home-assistant/bin/python3 py37 (see /Users/neilcrosby/Documents/git-projects.nosync/home-assistant/.tox/py37/log/py37-0.log)', 100)
* Made the minimum python version explicit
With a reference to the Debian stable docs.
* moved text down below the overal group of getting started links
It's highly advisable to run the bundled rake version to prevent errors like `Gem::LoadError: You have already activated rake 12.3.1, but your Gemfile requires rake 10.5.0. Prepending `bundle exec` to your command may solve this.`
* Config folder location clarification
While this was documented elsewhere in the docs, this is the first thing I was looking for after invoking the dev environment and spent an inordinate amount of time tracking it down.
* link to user docs for clarification
link to user docs to clarify location of config files
When running `tox` on OSX as instructed at https://developers.home-assistant.io/docs/en/development_testing.html an error is received stating `error: [Errno 2] No such file or directory: 'autoconf': 'autoconf'`.
By installing `autoconf` via `homebrew`, this error goes away, and the `tox` tests pass. Telling OSX developers to install `autoconf` at this point in the development environment setup procedure (rather than calling it out on the testing page) seemed to make sense to me.
* Update testing info with virtual environment
Being new to python, pip and virtual environments, I tried running `tox` without activating the virtual environment. This should make it a little bit more clear for newcomers.
* Update development_testing.md
* Update development_testing.md
* Update development_testing.md