summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad <brad.solomon.1124@gmail.com>2019-06-21 18:20:21 (GMT)
committerBrett Cannon <54418+brettcannon@users.noreply.github.com>2019-06-21 18:20:21 (GMT)
commit8b2aa1fddeb647bfbdb3b5827ddc3fdef19b8e44 (patch)
treefab7173b06517dca078ea4f17de6f30184d4af47
parenta0d73a143af404deecb9c4fcdbd3ddbafd96b41b (diff)
downloadcpython-8b2aa1fddeb647bfbdb3b5827ddc3fdef19b8e44.zip
cpython-8b2aa1fddeb647bfbdb3b5827ddc3fdef19b8e44.tar.gz
cpython-8b2aa1fddeb647bfbdb3b5827ddc3fdef19b8e44.tar.bz2
Use `python -m pip install` in porting guide and venv docs (GH-13257)
This is to help prevent people from accidentally installing into the wrong Python interpreter if they are not aware of which Python interpreter `pip` points to.
-rw-r--r--Doc/howto/pyporting.rst20
-rw-r--r--Doc/tutorial/venv.rst8
2 files changed, 17 insertions, 11 deletions
diff --git a/Doc/howto/pyporting.rst b/Doc/howto/pyporting.rst
index 3be6bb3..f7d12a1 100644
--- a/Doc/howto/pyporting.rst
+++ b/Doc/howto/pyporting.rst
@@ -31,20 +31,26 @@ are:
#. Only worry about supporting Python 2.7
#. Make sure you have good test coverage (coverage.py_ can help;
- ``pip install coverage``)
+ ``python -m pip install coverage``)
#. Learn the differences between Python 2 & 3
-#. Use Futurize_ (or Modernize_) to update your code (e.g. ``pip install future``)
+#. Use Futurize_ (or Modernize_) to update your code (e.g. ``python -m pip install future``)
#. Use Pylint_ to help make sure you don't regress on your Python 3 support
- (``pip install pylint``)
+ (``python -m pip install pylint``)
#. Use caniusepython3_ to find out which of your dependencies are blocking your
- use of Python 3 (``pip install caniusepython3``)
+ use of Python 3 (``python -m pip install caniusepython3``)
#. Once your dependencies are no longer blocking you, use continuous integration
to make sure you stay compatible with Python 2 & 3 (tox_ can help test
- against multiple versions of Python; ``pip install tox``)
+ against multiple versions of Python; ``python -m pip install tox``)
#. Consider using optional static type checking to make sure your type usage
works in both Python 2 & 3 (e.g. use mypy_ to check your typing under both
- Python 2 & Python 3).
+ Python 2 & Python 3; ``python -m pip install mypy``).
+.. note::
+
+ Note: Using ``python -m pip install`` guarantees that the ``pip`` you invoke
+ is the one installed for the Python currently in use, whether it be
+ a system-wide ``pip`` or one installed within a
+ :ref:`virtual environment <tut-venv>`.
Details
=======
@@ -71,7 +77,7 @@ Drop support for Python 2.6 and older
While you can make Python 2.5 work with Python 3, it is **much** easier if you
only have to work with Python 2.7. If dropping Python 2.5 is not an
option then the six_ project can help you support Python 2.5 & 3 simultaneously
-(``pip install six``). Do realize, though, that nearly all the projects listed
+(``python -m pip install six``). Do realize, though, that nearly all the projects listed
in this HOWTO will not be available to you.
If you are able to skip Python 2.5 and older, then the required changes
diff --git a/Doc/tutorial/venv.rst b/Doc/tutorial/venv.rst
index dc4136e..d8bb2f5 100644
--- a/Doc/tutorial/venv.rst
+++ b/Doc/tutorial/venv.rst
@@ -110,7 +110,7 @@ You can install the latest version of a package by specifying a package's name:
.. code-block:: bash
- (tutorial-env) $ pip install novas
+ (tutorial-env) $ python -m pip install novas
Collecting novas
Downloading novas-3.1.1.3.tar.gz (136kB)
Installing collected packages: novas
@@ -122,7 +122,7 @@ package name followed by ``==`` and the version number:
.. code-block:: bash
- (tutorial-env) $ pip install requests==2.6.0
+ (tutorial-env) $ python -m pip install requests==2.6.0
Collecting requests==2.6.0
Using cached requests-2.6.0-py2.py3-none-any.whl
Installing collected packages: requests
@@ -135,7 +135,7 @@ install --upgrade`` to upgrade the package to the latest version:
.. code-block:: bash
- (tutorial-env) $ pip install --upgrade requests
+ (tutorial-env) $ python -m pip install --upgrade requests
Collecting requests
Installing collected packages: requests
Found existing installation: requests 2.6.0
@@ -193,7 +193,7 @@ necessary packages with ``install -r``:
.. code-block:: bash
- (tutorial-env) $ pip install -r requirements.txt
+ (tutorial-env) $ python -m pip install -r requirements.txt
Collecting novas==3.1.1.3 (from -r requirements.txt (line 1))
...
Collecting numpy==1.9.2 (from -r requirements.txt (line 2))