Activate your virtual environment.
Run the command below:
$ ipython profile create
Save the Python script to ~/.ipython/profile_default/startup/00-detect-current-venv.py
Done!
More on this: Guia definitivo para organizar meu ambiente Python
| """IPython startup script to detect and inject VIRTUAL_ENV's site-packages dirs. | |
| IPython can detect virtualenv's path and injects it's site-packages dirs into sys.path. | |
| But it can go wrong if IPython's python version differs from VIRTUAL_ENV's. | |
| This module fixes it looking for the actual directories. We use only old stdlib | |
| resources so it can work with as many Python versions as possible. | |
| References: | |
| http://stackoverflow.com/a/30650831/443564 | |
| http://stackoverflow.com/questions/122327/how-do-i-find-the-location-of-my-python-site-packages-directory | |
| https://github.com/ipython/ipython/blob/master/IPython/core/interactiveshell.py#L676 | |
| Author: Henrique Bastos <henrique@bastos.net> | |
| License: BSD | |
| """ | |
| import os | |
| import sys | |
| from warnings import warn | |
| virtualenv = os.environ.get('VIRTUAL_ENV') | |
| if virtualenv: | |
| version = os.listdir(os.path.join(virtualenv, 'lib'))[0] | |
| site_packages = os.path.join(virtualenv, 'lib', version, 'site-packages') | |
| lib_dynload = os.path.join(virtualenv, 'lib', version, 'lib-dynload') | |
| src = os.path.join(virtualenv, 'src') # for packages installed directly from a git repo | |
| if not (os.path.exists(site_packages) and os.path.exists(lib_dynload)): | |
| msg = 'Virtualenv site-packages discovery went wrong for %r' % repr([site_packages, lib_dynload]) | |
| warn(msg) | |
| try: | |
| i = sys.path.index("") + 1 | |
| except ValueError: | |
| i = 0 | |
| sys.path.insert(i, site_packages) | |
| sys.path.insert(i+1, lib_dynload) | |
| sys.path.insert(i+2, src) |
Activate your virtual environment.
Run the command below:
$ ipython profile create
Save the Python script to ~/.ipython/profile_default/startup/00-detect-current-venv.py
Done!
More on this: Guia definitivo para organizar meu ambiente Python