Show More
@@ -0,0 +1,3 b'' | |||
|
1 | The `--deep-reload` flag and the corresponding options to inject `dreload` or | |
|
2 | `reload` into the interactive namespace have been removed. You have to | |
|
3 | explicitly import `reload` from `IPython.lib.deepreload` to use it. |
@@ -0,0 +1,2 b'' | |||
|
1 | IPython.utils.warn was deprecated in IPython 4.0, and has now been removed. | |
|
2 | instead of Ipython.utils.warn inbuilt warning module is used. |
@@ -22,17 +22,24 b' from __future__ import absolute_import' | |||
|
22 | 22 | |
|
23 | 23 | import os |
|
24 | 24 | import sys |
|
25 | import warnings | |
|
26 | 25 | |
|
27 | 26 | #----------------------------------------------------------------------------- |
|
28 | 27 | # Setup everything |
|
29 | 28 | #----------------------------------------------------------------------------- |
|
30 | 29 | |
|
31 | 30 | # Don't forget to also update setup.py when this changes! |
|
32 |
|
|
|
33 | if v[:2] < (3,3): | |
|
34 | raise ImportError('IPython requires Python version 3.3 or above.') | |
|
35 | del v | |
|
31 | if sys.version_info < (3,3): | |
|
32 | raise ImportError( | |
|
33 | """ | |
|
34 | IPython 6.0+ does not support Python 2.6, 2.7, 3.0, 3.1, or 3.2. | |
|
35 | When using Python 2.7, please install IPython 5.x LTS Long Term Support version. | |
|
36 | Beginning with IPython 6.0, Python 3.3 and above is required. | |
|
37 | ||
|
38 | See IPython `README.rst` file for more information: | |
|
39 | ||
|
40 | https://github.com/ipython/ipython/blob/master/README.rst | |
|
41 | ||
|
42 | """) | |
|
36 | 43 | |
|
37 | 44 | # Make it easy to import extensions - they are always directly on pythonpath. |
|
38 | 45 | # Therefore, non-IPython modules can be added to extensions directory. |
@@ -143,4 +150,3 b' def start_kernel(argv=None, **kwargs):' | |||
|
143 | 150 | """ |
|
144 | 151 | from IPython.kernel.zmq.kernelapp import launch_new_instance |
|
145 | 152 | return launch_new_instance(argv=argv, **kwargs) |
|
146 |
@@ -52,17 +52,6 b' class BuiltinTrap(Configurable):' | |||
|
52 | 52 | 'quit': HideBuiltin, |
|
53 | 53 | 'get_ipython': self.shell.get_ipython, |
|
54 | 54 | } |
|
55 | # Recursive reload function | |
|
56 | try: | |
|
57 | from IPython.lib import deepreload | |
|
58 | if self.shell.deep_reload: | |
|
59 | from warnings import warn | |
|
60 | warn("Automatically replacing builtin `reload` by `deepreload.reload` is deprecated since IPython 4.0, please import `reload` explicitly from `IPython.lib.deepreload", DeprecationWarning) | |
|
61 | self.auto_builtins['reload'] = deepreload._dreload | |
|
62 | else: | |
|
63 | self.auto_builtins['dreload']= deepreload._dreload | |
|
64 | except ImportError: | |
|
65 | pass | |
|
66 | 55 | |
|
67 | 56 | def __enter__(self): |
|
68 | 57 | if self._nested_level == 0: |
@@ -260,21 +260,6 b' class InteractiveShell(SingletonConfigurable):' | |||
|
260 | 260 | help="Set the color scheme (NoColor, Neutral, Linux, or LightBG)." |
|
261 | 261 | ).tag(config=True) |
|
262 | 262 | debug = Bool(False).tag(config=True) |
|
263 | deep_reload = Bool(False, help= | |
|
264 | """ | |
|
265 | **Deprecated** | |
|
266 | ||
|
267 | Will be removed in IPython 6.0 | |
|
268 | ||
|
269 | Enable deep (recursive) reloading by default. IPython can use the | |
|
270 | deep_reload module which reloads changes in modules recursively (it | |
|
271 | replaces the reload() function, so you don't need to change anything to | |
|
272 | use it). `deep_reload` forces a full reload of modules whose code may | |
|
273 | have changed, which the default reload() function does not. When | |
|
274 | deep_reload is off, IPython will use the normal reload(), but | |
|
275 | deep_reload will still be available as dreload(). | |
|
276 | """ | |
|
277 | ).tag(config=True) | |
|
278 | 263 | disable_failing_post_execute = Bool(False, |
|
279 | 264 | help="Don't call post-execute functions that have failed in the past." |
|
280 | 265 | ).tag(config=True) |
@@ -17,7 +17,7 b' from IPython import paths' | |||
|
17 | 17 | from IPython.testing.decorators import skip_win32 |
|
18 | 18 | from IPython.utils.tempdir import TemporaryDirectory |
|
19 | 19 | |
|
20 | TMP_TEST_DIR = tempfile.mkdtemp() | |
|
20 | TMP_TEST_DIR = os.path.realpath(tempfile.mkdtemp()) | |
|
21 | 21 | HOME_TEST_DIR = os.path.join(TMP_TEST_DIR, "home_test_dir") |
|
22 | 22 | XDG_TEST_DIR = os.path.join(HOME_TEST_DIR, "xdg_test_dir") |
|
23 | 23 | XDG_CACHE_DIR = os.path.join(HOME_TEST_DIR, "xdg_cache_dir") |
@@ -341,21 +341,3 b" def reload(module, exclude=('sys', 'os.path', builtin_mod_name, '__main__')):" | |||
|
341 | 341 | return deep_reload_hook(module) |
|
342 | 342 | finally: |
|
343 | 343 | found_now = {} |
|
344 | ||
|
345 | ||
|
346 | def _dreload(module, **kwargs): | |
|
347 | """ | |
|
348 | **deprecated** | |
|
349 | ||
|
350 | import reload explicitly from `IPython.lib.deepreload` to use it | |
|
351 | ||
|
352 | """ | |
|
353 | # this was marked as deprecated and for 5.0 removal, but | |
|
354 | # IPython.core_builtin_trap have a Deprecation warning for 6.0, so cannot | |
|
355 | # remove that now. | |
|
356 | warn(""" | |
|
357 | injecting `dreload` in interactive namespace is deprecated since IPython 4.0. | |
|
358 | Please import `reload` explicitly from `IPython.lib.deepreload`. | |
|
359 | """, DeprecationWarning, stacklevel=2) | |
|
360 | reload(module, **kwargs) | |
|
361 |
@@ -8,10 +8,10 b' from warnings import warn' | |||
|
8 | 8 | |
|
9 | 9 | from IPython.core.interactiveshell import InteractiveShell, InteractiveShellABC |
|
10 | 10 | from IPython.utils import io |
|
11 | from IPython.utils.py3compat import PY3, cast_unicode_py2, input | |
|
11 | from IPython.utils.py3compat import PY3, cast_unicode_py2, input, string_types | |
|
12 | 12 | from IPython.utils.terminal import toggle_set_term_title, set_term_title |
|
13 | 13 | from IPython.utils.process import abbrev_cwd |
|
14 | from traitlets import Bool, Unicode, Dict, Integer, observe, Instance, Type, default, Enum | |
|
14 | from traitlets import Bool, Unicode, Dict, Integer, observe, Instance, Type, default, Enum, Union | |
|
15 | 15 | |
|
16 | 16 | from prompt_toolkit.enums import DEFAULT_BUFFER, EditingMode |
|
17 | 17 | from prompt_toolkit.filters import (HasFocus, Condition, IsDone) |
@@ -23,6 +23,7 b' from prompt_toolkit.layout.processors import ConditionalProcessor, HighlightMatc' | |||
|
23 | 23 | from prompt_toolkit.styles import PygmentsStyle, DynamicStyle |
|
24 | 24 | |
|
25 | 25 | from pygments.styles import get_style_by_name, get_all_styles |
|
26 | from pygments.style import Style | |
|
26 | 27 | from pygments.token import Token |
|
27 | 28 | |
|
28 | 29 | from .debugger import TerminalPdb, Pdb |
@@ -132,8 +133,9 b' class TerminalInteractiveShell(InteractiveShell):' | |||
|
132 | 133 | help="Enable mouse support in the prompt" |
|
133 | 134 | ).tag(config=True) |
|
134 | 135 | |
|
135 | highlighting_style = Unicode('legacy', | |
|
136 |
|
|
|
136 | highlighting_style = Union([Unicode('legacy'), Type(klass=Style)], | |
|
137 | help="""The name or class of a Pygments style to use for syntax | |
|
138 | highlighting: \n %s""" % ', '.join(get_all_styles()) | |
|
137 | 139 | ).tag(config=True) |
|
138 | 140 | |
|
139 | 141 | |
@@ -143,7 +145,7 b' class TerminalInteractiveShell(InteractiveShell):' | |||
|
143 | 145 | self.refresh_style() |
|
144 | 146 | |
|
145 | 147 | def refresh_style(self): |
|
146 | self._style = self._make_style_from_name(self.highlighting_style) | |
|
148 | self._style = self._make_style_from_name_or_cls(self.highlighting_style) | |
|
147 | 149 | |
|
148 | 150 | |
|
149 | 151 | highlighting_style_overrides = Dict( |
@@ -229,7 +231,7 b' class TerminalInteractiveShell(InteractiveShell):' | |||
|
229 | 231 | if cell and (cell != last_cell): |
|
230 | 232 | history.append(cell) |
|
231 | 233 | |
|
232 | self._style = self._make_style_from_name(self.highlighting_style) | |
|
234 | self._style = self._make_style_from_name_or_cls(self.highlighting_style) | |
|
233 | 235 | style = DynamicStyle(lambda: self._style) |
|
234 | 236 | |
|
235 | 237 | editing_mode = getattr(EditingMode, self.editing_mode.upper()) |
@@ -249,14 +251,14 b' class TerminalInteractiveShell(InteractiveShell):' | |||
|
249 | 251 | self._pt_app, eventloop=self._eventloop, |
|
250 | 252 | output=create_output(true_color=self.true_color)) |
|
251 | 253 | |
|
252 | def _make_style_from_name(self, name): | |
|
254 | def _make_style_from_name_or_cls(self, name_or_cls): | |
|
253 | 255 | """ |
|
254 | 256 | Small wrapper that make an IPython compatible style from a style name |
|
255 | 257 | |
|
256 | 258 | We need that to add style for prompt ... etc. |
|
257 | 259 | """ |
|
258 | 260 | style_overrides = {} |
|
259 | if name == 'legacy': | |
|
261 | if name_or_cls == 'legacy': | |
|
260 | 262 | legacy = self.colors.lower() |
|
261 | 263 | if legacy == 'linux': |
|
262 | 264 | style_cls = get_style_by_name('monokai') |
@@ -287,7 +289,10 b' class TerminalInteractiveShell(InteractiveShell):' | |||
|
287 | 289 | else : |
|
288 | 290 | raise ValueError('Got unknown colors: ', legacy) |
|
289 | 291 | else : |
|
290 | style_cls = get_style_by_name(name) | |
|
292 | if isinstance(name_or_cls, string_types): | |
|
293 | style_cls = get_style_by_name(name_or_cls) | |
|
294 | else: | |
|
295 | style_cls = name_or_cls | |
|
291 | 296 | style_overrides = { |
|
292 | 297 | Token.Prompt: '#009900', |
|
293 | 298 | Token.PromptNum: '#00ff00 bold', |
@@ -71,4 +71,4 b' class RichPromptDisplayHook(DisplayHook):' | |||
|
71 | 71 | if self.shell.pt_cli: |
|
72 | 72 | self.shell.pt_cli.print_tokens(tokens) |
|
73 | 73 | else: |
|
74 |
|
|
|
74 | sys.stdout.write(''.join(s for t, s in tokens)) |
@@ -19,7 +19,7 b' Overview' | |||
|
19 | 19 | ======== |
|
20 | 20 | |
|
21 | 21 | Welcome to IPython. Our full documentation is available on `ipython.readthedocs.io |
|
22 | <https://ipython.readthedocs.io/en/stable/>`_ and contain information on how to install, use | |
|
22 | <https://ipython.readthedocs.io/en/stable/>`_ and contains information on how to install, use and | |
|
23 | 23 | contribute to the project. |
|
24 | 24 | |
|
25 | 25 | Officially, IPython requires Python version 3.3 and above. |
@@ -32,20 +32,56 b' if you want to use these.' | |||
|
32 | 32 | |
|
33 | 33 | |
|
34 | 34 | |
|
35 |
Develop |
|
|
36 |
=============================== |
|
|
35 | Development and Instant running | |
|
36 | =============================== | |
|
37 | 37 | |
|
38 | 38 | You can find the latest version of the development documentation on `readthedocs |
|
39 |
<http://ipython.readthedocs.io/en/latest/>`_. |
|
|
39 | <http://ipython.readthedocs.io/en/latest/>`_. | |
|
40 | 40 | |
|
41 | 41 | You can run IPython from this directory without even installing it system-wide |
|
42 | 42 | by typing at the terminal:: |
|
43 | ||
|
43 | ||
|
44 | 44 | $ python -m IPython |
|
45 | 45 | |
|
46 |
Or see the `develop |
|
|
46 | Or see the `development installation docs | |
|
47 | 47 | <http://ipython.readthedocs.io/en/latest/install/install.html#installing-the-development-version>`_ |
|
48 |
for the latest revision on read the docs. |
|
|
48 | for the latest revision on read the docs. | |
|
49 | 49 | |
|
50 | 50 | Documentation and installation instructions for older version of IPython can be |
|
51 | 51 | found on the `IPython website <http://ipython.org/documentation.html>`_ |
|
52 | ||
|
53 | ||
|
54 | ||
|
55 | IPython requires Python version 3 or above | |
|
56 | ========================================== | |
|
57 | ||
|
58 | Starting with version 6.0, IPython does not support Python 2.7, 3.0, 3.1, or | |
|
59 | 3.2. | |
|
60 | ||
|
61 | For a version compatible with Python 2.7, please install the 5.x LTS Long Term | |
|
62 | Support version. | |
|
63 | ||
|
64 | If you are encountering this error message you are likely trying to install or | |
|
65 | use IPython from source. You need to checkout the remote 5.x branch. If you are | |
|
66 | using git the following should work: | |
|
67 | ||
|
68 | $ git fetch origin | |
|
69 | $ git checkout -b origin/5.x | |
|
70 | ||
|
71 | If you encounter this error message with a regular install of IPython, then you | |
|
72 | likely need to update your package manager, for example if you are using `pip` | |
|
73 | check the version of pip with | |
|
74 | ||
|
75 | $ pip --version | |
|
76 | ||
|
77 | You will need to update pip to the version 8.2 or greater. If you are not using | |
|
78 | pip, please inquiry with the maintainers of the package for your package | |
|
79 | manager. | |
|
80 | ||
|
81 | For more information see one of our blog posts: | |
|
82 | ||
|
83 | http://blog.jupyter.org/2016/07/08/ipython-5-0-released/ | |
|
84 | ||
|
85 | As well as the following Pull-Request for discussion: | |
|
86 | ||
|
87 | https://github.com/ipython/ipython/pull/9900 |
@@ -101,9 +101,10 b" is set to ``'legacy'``. It has four case-insensitive values:" | |||
|
101 | 101 | should be legible on either dark or light terminal backgrounds. *linux* is |
|
102 | 102 | optimised for dark backgrounds and *lightbg* for light ones. |
|
103 | 103 | |
|
104 |
``TerminalInteractiveShell.highlighting_style`` determines prompt colours and |
|
|
105 |
highlighting. It takes the name |
|
|
106 | value ``'legacy'`` to pick a style in accordance with ``InteractiveShell.colors``. | |
|
104 | ``TerminalInteractiveShell.highlighting_style`` determines prompt colours and | |
|
105 | syntax highlighting. It takes the name (as a string) or class (as a subclass of | |
|
106 | ``pygments.style.Style``) of a Pygments style, or the special value ``'legacy'`` | |
|
107 | to pick a style in accordance with ``InteractiveShell.colors``. | |
|
107 | 108 | |
|
108 | 109 | You can see the Pygments styles available on your system by running:: |
|
109 | 110 |
@@ -26,9 +26,18 b' import sys' | |||
|
26 | 26 | |
|
27 | 27 | # This check is also made in IPython/__init__, don't forget to update both when |
|
28 | 28 | # changing Python version requirements. |
|
29 |
|
|
|
30 | if v[:2] < (3,3): | |
|
31 | error = "ERROR: IPython requires Python version 3.3 or above." | |
|
29 | if sys.version_info < (3,3): | |
|
30 | error = """ | |
|
31 | IPython 6.0+ does not support Python 2.6, 2.7, 3.0, 3.1, or 3.2. | |
|
32 | When using Python 2.7, please install IPython 5.x LTS Long Term Support version. | |
|
33 | Beginning with IPython 6.0, Python 3.3 and above is required. | |
|
34 | ||
|
35 | See IPython `README.rst` file for more information: | |
|
36 | ||
|
37 | https://github.com/ipython/ipython/blob/master/README.rst | |
|
38 | ||
|
39 | """ | |
|
40 | ||
|
32 | 41 | print(error, file=sys.stderr) |
|
33 | 42 | sys.exit(1) |
|
34 | 43 |
|
1 | NO CONTENT: file was removed |
General Comments 0
You need to be logged in to leave comments.
Login now