##// END OF EJS Templates
add dirty trick for readline import on OSX...
add dirty trick for readline import on OSX also made the libedit warning extremely loud, so people don't miss it. We still get reports of people never having noticed the warning, and getting confused when readline is broken on OSX. The reason for the dirty trick: pip installs to site-packages by default, but site-packages dirs always come *after* lib-dynload (and extras, etc.), which is where the system readline is installed. That means that a non-setuptools install (pip or setup.py install) *cannot* override any package that ships with OSX, including: numpy, readline, twisted, pyobjc without installing to a non-standard path (not even user site-packages via `--user`). The method for the dirty trick: 1. remove lib-dynload from sys.path before trying to import readline the first time 2. after import, restore lib-dynload to its place in sys.path 3. if import failed without lib-dynload, try it one more time

File last commit:

r2267:928c921b
r5206:387dcd6a
Show More
ipy_profile_doctest.py
46 lines | 1.5 KiB | text/x-python | PythonLexer
/ IPython / quarantine / ipy_profile_doctest.py
fperez
- New profile with doctest support (two way: for generating doctests and for...
r750 """Config file for 'doctest' profile.
This profile modifies the prompts to be the standard Python ones, so that you
can generate easily doctests from an IPython session.
But more importantly, it enables pasting of code with '>>>' prompts and
arbitrary initial whitespace, as is typical of doctests in reST files and
docstrings. This allows you to easily re-run existing doctests and iteratively
work on them as part of your development workflow.
The exception mode is also set to 'plain' so the generated exceptions are as
similar as possible to the default Python ones, for inclusion in doctests."""
# get various stuff that are there for historical / familiarity reasons
import ipy_legacy
Brian Granger
ipapi.py => core/ipapi.py and imports updated.
r2027 from IPython.core import ipapi
fperez
- New profile with doctest support (two way: for generating doctests and for...
r750
Brian Granger
Renaming Extensions=>extensions in code and imports.
r2064 from IPython.extensions import InterpreterPasteInput
fperez
- New profile with doctest support (two way: for generating doctests and for...
r750
def main():
ip = ipapi.get()
o = ip.options
# Set the prompts similar to the defaults
o.prompt_in1 = '>>> '
o.prompt_in2 = '... '
o.prompt_out = ''
fperez
fix prompt separators for doctests
r766 # Add a blank line before each new set of inputs. This is needed by
# doctest to distinguish each test from the next.
o.separate_in = '\n'
fperez
Small fix to '?', more doctest-compliant profile.
r762 o.separate_out = ''
fperez
fix prompt separators for doctests
r766 o.separate_out2 = ''
fperez
- New profile with doctest support (two way: for generating doctests and for...
r750
# Disable pprint, so that outputs are printed as similarly to standard
# python as possible
fperez
Small fix to '?', more doctest-compliant profile.
r762 o.pprint = False
fperez
- New profile with doctest support (two way: for generating doctests and for...
r750
# Use plain exceptions, to also resemble normal pyhton.
o.xmode = 'plain'
fperez
- new doctest_mode magic to toggle doctest pasting/prompts....
r763 # Store the activity flag in the metadata bag from the running shell
Brian Granger
Continuing a massive refactor of everything.
r2205 ip.meta.doctest_mode = True
fperez
- new doctest_mode magic to toggle doctest pasting/prompts....
r763
fperez
- New profile with doctest support (two way: for generating doctests and for...
r750 main()