idf.py: Import from pyserial after packages have been checked

Closes https://github.com/espressif/esp-idf/issues/2573
This commit is contained in:
Roland Dobai 2018-10-25 08:16:30 +02:00
parent 7c29a39d6f
commit f59358dad3
2 changed files with 7 additions and 3 deletions

View File

@ -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))

View File

@ -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: