Skip to content

Commit

Permalink
Encourage to install python packages without administrative rights
Browse files Browse the repository at this point in the history
Using 'sudo pip install' can cause a lot of problems because usually
there are a couple of Python interpreters installed. This fix encourages
developers to use `pip install --user` instead which is safer.
  • Loading branch information
dobairoland committed Sep 11, 2018
1 parent 5eb452f commit c3d99dd
Show file tree
Hide file tree
Showing 9 changed files with 9 additions and 19 deletions.
2 changes: 1 addition & 1 deletion docs/en/contribute/documenting-code.rst
Expand Up @@ -298,7 +298,7 @@ All remaining applications are `Python <https://www.python.org/>`_ packages and
::

cd ~/esp/esp-idf/docs
pip install -r requirements.txt
pip install --user -r requirements.txt

.. note::

Expand Down
2 changes: 1 addition & 1 deletion docs/en/get-started-cmake/macos-setup-scratch.rst
Expand Up @@ -23,7 +23,7 @@ Install Prerequisites

- install pyserial::

sudo pip install pyserial
pip install --user pyserial

- install CMake & Ninja build:

Expand Down
2 changes: 1 addition & 1 deletion docs/en/get-started-cmake/macos-setup.rst
Expand Up @@ -15,7 +15,7 @@ ESP-IDF will use the version of Python installed by default on Mac OS.

- install pyserial::

sudo pip install pyserial
pip install --user pyserial

- install CMake & Ninja build:

Expand Down
2 changes: 1 addition & 1 deletion docs/en/get-started-cmake/windows-setup-scratch.rst
Expand Up @@ -42,7 +42,7 @@ The "Customise" step of the Python installer gives a list of options. The last o

Once Python is installed, open a Windows Command Prompt from the Start menu and run the following command::

pip install pyserial
pip install --user pyserial

MConf for IDF
^^^^^^^^^^^^^
Expand Down
6 changes: 1 addition & 5 deletions docs/en/get-started/index.rst
Expand Up @@ -143,10 +143,6 @@ Install the Required Python Packages

Python packages required by ESP-IDF are located in the ``$IDF_PATH/requirements.txt`` file. You can install them by running::

sudo python -m pip install -r $IDF_PATH/requirements.txt

or you can use the following command for installing them into the user install directory on systems where you don't have administrator rights::

python -m pip install --user -r $IDF_PATH/requirements.txt

.. note::
Expand All @@ -155,7 +151,7 @@ or you can use the following command for installing them into the user install d
interpreter can be checked by running command ``python --version`` and depending on the result, you might want to
use ``python2``, ``python2.7`` or similar instead of ``python``, e.g.::

sudo python2.7 -m pip install -r $IDF_PATH/requirements.txt
python2.7 -m pip install --user -r $IDF_PATH/requirements.txt

.. _get-started-start-project:

Expand Down
2 changes: 1 addition & 1 deletion docs/requirements.txt
@@ -1,5 +1,5 @@
# This is a list of python packages used to generate documentation. This file is used with pip:
# pip install -r requirements.txt
# pip install --user -r requirements.txt
#
sphinx==1.6.5
sphinx-rtd-theme
Expand Down
8 changes: 1 addition & 7 deletions docs/zh_CN/get-started/index.rst
Expand Up @@ -142,12 +142,6 @@ ESP32 是一套 Wi-Fi (2.4 GHz) 和蓝牙 (4.2) 双模解决方案,集成了

ESP-IDF 所依赖的 Python 软件包位于 ``$IDF_PATH/requirements.txt`` 文件中,您可以通过运行以下命令来安装它们:

.. code:: bash
sudo python -m pip install -r $IDF_PATH/requirements.txt
如果您没有系统的管理员权限,那么可以使用如下命令来将软件包安装到用户目录中:

.. code:: bash
python -m pip install --user -r $IDF_PATH/requirements.txt
Expand All @@ -156,7 +150,7 @@ ESP-IDF 所依赖的 Python 软件包位于 ``$IDF_PATH/requirements.txt`` 文

请调用 ESP-IDF 使用的相同版本的 Python 解释器,解释器的版本号可以通过运行命令 ``python --version`` 来获得,根据结果,您可能要使用 ``python2``, ``python2.7`` 或者类似的名字而不是 ``python``,例如::

sudo python2.7 -m pip install -r $IDF_PATH/requirements.txt
python2.7 -m pip install --user -r $IDF_PATH/requirements.txt

.. _get-started-start-project:

Expand Down
2 changes: 1 addition & 1 deletion tools/check_python_dependencies.py
Expand Up @@ -47,7 +47,7 @@
print('The following Python requirements are not satisfied:')
for requirement in not_satisfied:
print(requirement)
print('Please run "{} -m pip install -r {}" for resolving the issue.'.format(sys.executable, args.requirements))
print('Please run "{} -m pip install --user -r {}" for resolving the issue.'.format(sys.executable, args.requirements))
sys.exit(1)

print('Python requirements from {} are satisfied.'.format(args.requirements))
2 changes: 1 addition & 1 deletion tools/tiny-test-fw/docs/index.rst
Expand Up @@ -190,7 +190,7 @@ The following 3rd party lib is required:
* netifaces
* matplotlib (if use Utility.LineChart)

These libraries can be installed by running ``pip install -r requirements.txt`` in tiny-test-fw directory.
These libraries can be installed by running ``pip install --user -r requirements.txt`` in tiny-test-fw directory.

To build document, we need to install ``Sphinx``, ``plantweb`` and ``sphinx-rtd-theme`` (you may replace this with your own theme). ``plantweb`` requires internet access during building document.

Expand Down

0 comments on commit c3d99dd

Please sign in to comment.