timofurrer / ptipython-meta Goto Github PK
View Code? Open in Web Editor NEWMetapackage to install ptpython and ipython.
Metapackage to install ptpython and ipython.
On Python 2 there is a versioning conflict between ptpython
and ipython
, both of which have demands over the allowable version of prompt-toolkit
.
Python 3:
$ venv shell # equiv: python3 -m venv shell; cd shell; . bin/activate
(shell)$ which pip
$HOME/Projects/shell/.venv/bin/pip
(shell)$ pip install ptipython
Collecting ptipython
Collecting ptpython (from ptipython)
Collecting ipython (from ptipython)
Collecting pygments (from ptpython->ptipython)
Collecting jedi>=0.9.0 (from ptpython->ptipython)
Collecting docopt (from ptpython->ptipython)
Collecting prompt-toolkit<2.1.0,>=2.0.6 (from ptpython->ptipython)
Collecting traitlets>=4.2 (from ipython->ptipython)
Collecting backcall (from ipython->ptipython)
Collecting pexpect; sys_platform != "win32" (from ipython->ptipython)
Collecting appnope; sys_platform == "darwin" (from ipython->ptipython)
Collecting decorator (from ipython->ptipython)
Requirement already satisfied: setuptools>=18.5 in ./.venv/lib/python3.7/site-packages (from ipython->ptipython) (40.6.2)
Collecting pickleshare (from ipython->ptipython)
Collecting parso>=0.3.0 (from jedi>=0.9.0->ptpython->ptipython)
Collecting wcwidth (from prompt-toolkit<2.1.0,>=2.0.6->ptpython->ptipython)
Collecting six>=1.9.0 (from prompt-toolkit<2.1.0,>=2.0.6->ptpython->ptipython)
Collecting ipython-genutils (from traitlets>=4.2->ipython->ptipython)
Collecting ptyprocess>=0.5 (from pexpect; sys_platform != "win32"->ipython->ptipython)
Installing collected packages: pygments, parso, jedi, docopt, wcwidth, six, prompt-toolkit, ptpython, ipython-genutils, decorator, traitlets, backcall, ptyprocess, pexpect, appnope, pickleshare, ipython, ptipython
Running setup.py install for backcall ... done
Successfully installed appnope-0.1.0 backcall-0.1.0 decorator-4.3.0 docopt-0.6.2 ipython-7.2.0 ipython-genutils-0.2.0 jedi-0.13.2 parso-0.3.1 pexpect-4.6.0 pickleshare-0.7.5 prompt-toolkit-2.0.7 ptipython-1.0.0 ptpython-2.0.4 ptyprocess-0.6.0 pygments-2.3.1 six-1.12.0 traitlets-4.3.2 wcwidth-0.1.7
pip install ptipython 3.60s user 1.79s system 84% cpu 6.399 total
(shell)$ ptipython
(works)
Python 2:
$ virtualenv --python=python shell
$ cd shell; . bin/activate
(shell)$ which pip
$HOME/Projects/shell/bin/pip
(shell)$ pip install ptipython
Collecting ptipython
Collecting ipython (from ptipython)
Collecting ptpython (from ptipython)
Collecting prompt-toolkit<2.0.0,>=1.0.4 (from ipython->ptipython)
Collecting decorator (from ipython->ptipython)
Collecting pexpect; sys_platform != "win32" (from ipython->ptipython)
Collecting backports.shutil-get-terminal-size; python_version == "2.7" (from ipython->ptipython)
Requirement already satisfied: setuptools>=18.5 in ./lib/python2.7/site-packages (from ipython->ptipython) (40.6.3)
Collecting pygments (from ipython->ptipython)
Collecting pathlib2; python_version == "2.7" or python_version == "3.3" (from ipython->ptipython)
Collecting traitlets>=4.2 (from ipython->ptipython)
Collecting simplegeneric>0.8 (from ipython->ptipython)
Collecting pickleshare (from ipython->ptipython)
Collecting appnope; sys_platform == "darwin" (from ipython->ptipython)
Collecting jedi>=0.9.0 (from ptpython->ptipython)
Collecting docopt (from ptpython->ptipython)
Collecting wcwidth (from prompt-toolkit<2.0.0,>=1.0.4->ipython->ptipython)
Collecting six>=1.9.0 (from prompt-toolkit<2.0.0,>=1.0.4->ipython->ptipython)
Collecting ptyprocess>=0.5 (from pexpect; sys_platform != "win32"->ipython->ptipython)
Collecting scandir; python_version < "3.5" (from pathlib2; python_version == "2.7" or python_version == "3.3"->ipython->ptipython)
Collecting ipython-genutils (from traitlets>=4.2->ipython->ptipython)
Collecting enum34; python_version == "2.7" (from traitlets>=4.2->ipython->ptipython)
Collecting parso>=0.3.0 (from jedi>=0.9.0->ptpython->ptipython)
ptpython 2.0.4 has requirement prompt-toolkit<2.1.0,>=2.0.6, but you'll have prompt-toolkit 1.0.15 which is incompatible.
Installing collected packages: wcwidth, six, prompt-toolkit, decorator, ptyprocess, pexpect, backports.shutil-get-terminal-size, pygments, scandir, pathlib2, ipython-genutils, enum34, traitlets, simplegeneric, pickleshare, appnope, ipython, parso, jedi, docopt, ptpython, ptipython
Successfully installed appnope-0.1.0 backports.shutil-get-terminal-size-1.0.0 decorator-4.3.0 docopt-0.6.2 enum34-1.1.6 ipython-5.8.0 ipython-genutils-0.2.0 jedi-0.13.2 parso-0.3.1 pathlib2-2.3.3 pexpect-4.6.0 pickleshare-0.7.5 prompt-toolkit-1.0.15 ptipython-1.0.0 ptpython-2.0.4 ptyprocess-0.6.0 pygments-2.3.1 scandir-1.9.0 simplegeneric-0.8.1 six-1.12.0 traitlets-4.3.2 wcwidth-0.1.7
pip install ptipython 3.28s user 1.62s system 87% cpu 5.576 total
(shell)$ ptipython
Traceback (most recent call last):
File "/Users/amcgregor/Projects/shell/bin/ptipython", line 11, in <module>
sys.exit(run())
File "/Users/amcgregor/Projects/shell/lib/python2.7/site-packages/ptpython/entry_points/run_ptipython.py", line 41, in run
from ptpython.ipython import embed
File "/Users/amcgregor/Projects/shell/lib/python2.7/site-packages/ptpython/ipython.py", line 14, in <module>
from prompt_toolkit.completion import PathCompleter, WordCompleter
ImportError: cannot import name PathCompleter
Note specifically the line ptpython 2.0.4 has requirement prompt-toolkit<2.1.0,>=2.0.6, but you'll have prompt-toolkit 1.0.15 which is incompatible.
above, just prior to the final "Installing collected packages" line. With some finagling, I can also generate a message for the conflicting package, which happens to be ipython
:
ipython 5.8.0 has requirement prompt-toolkit<2.0.0,>=1.0.4, but you'll have prompt-toolkit 2.0.7 which is incompatible.
Ruh-roh. What should I be pinning locally to avoid this?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.