]> granicus.if.org Git - esp-idf/commitdiff
idf.py: Import from pyserial after packages have been checked
authorRoland Dobai <dobai.roland@gmail.com>
Thu, 25 Oct 2018 06:16:30 +0000 (08:16 +0200)
committerRoland Dobai <dobai.roland@gmail.com>
Thu, 25 Oct 2018 06:38:00 +0000 (08:38 +0200)
Closes https://github.com/espressif/esp-idf/issues/2573

tools/check_python_dependencies.py
tools/idf.py

index 37ba34de3d2d2874bac385eb5d3b569850ea4192..d8767004b6ec57428057b2b65fffaa65423e8cf8 100755 (executable)
@@ -68,7 +68,9 @@ if __name__ == "__main__":
         print('The following Python requirements are not satisfied:')
         for requirement in not_satisfied:
             print(requirement)
-        print('Please run "{} -m pip install --user -r {}" for resolving the issue.'.format(sys.executable, args.requirements))
+        print('Please refer to the Get Started section of the ESP-IDF Programming Guide for setting up the required '
+              'packages. Alternatively, you can 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))
index a4e0573d8d1e8457bc3cf9ae0ac9091009b09ab3..716bbf50bb73a0395263e66e5d0cd8be58acdf57 100755 (executable)
@@ -22,7 +22,7 @@
 # limitations under the License.
 #
 
-# Note: we don't check for Python build-time dependencies until
+# WARNING: we don't check for Python build-time dependencies until
 # check_environment() function below. If possible, avoid importing
 # any external libraries here - put in external script, or import in
 # their specific function instead.
@@ -35,7 +35,6 @@ import multiprocessing
 import re
 import shutil
 import json
-import serial.tools.list_ports
 
 class FatalError(RuntimeError):
     """
@@ -419,6 +418,9 @@ def get_default_serial_port():
 
     Same logic as esptool.py search order, reverse sort by name and choose the first port.
     """
+    # Import is done here in order to move it after the check_environment() ensured that pyserial has been installed
+    import serial.tools.list_ports
+
     ports = list(reversed(sorted(
         p.device for p in serial.tools.list_ports.comports() )))
     try: