Skip to content

Feature Request: Enhance Mirror Support for Chinese Users (Easy Install & pip) (EIM-332) #247

@eMUQI

Description

@eMUQI

Checklist

  • Checked the issue tracker for similar issues to ensure this is not a duplicate.
  • Described the feature in detail and justified the reason for the request.
  • Provided specific use cases and examples.

Feature description

To improve the user experience for developers in mainland China, I'd like to suggest enhancing the mirror configuration options. Users in this region often face slow network connections to GitHub and PyPI, which can impact the installation process.

  1. "Easy Installation" Mode: This mode currently defaults to GitHub for all downloads. For users in China, this can lead to very long download times. A mirror option here would greatly streamline their initial setup.
  2. "Expert Installation" Mode: The existing mirrors for the IDF repository and tools are very helpful. Adding a similar option for a pip package mirror would complete the solution, as installing Python dependencies is another step where network speed is a factor.

Proposed Solution:

  1. For "Easy Installation": Introduce a simple checkbox, such as "Use mirrors for faster downloads in mainland China". When enabled, it would automatically use appropriate mirrors for the repository and tools.
  2. For "Expert Installation": Add a new input field for a "pip Package Mirror" URL (e.g., https://pypi.tuna.tsinghua.edu.cn/simple) within the existing "Download Mirrors" section.

Use cases

  • New User: A new developer in China selects "Easy Installation" but experiences network timeouts. A mirror option would provide a smooth and successful first-time setup.
  • Experienced User: An experienced developer uses "Expert Installation" and sets IDF mirrors, but the process is slow during the pip install step. An in-app pip mirror option would create a more integrated and efficient workflow.

Alternatives

The current workaround involves manually configuring mirrors for Git and pip via the command line before launching the installer. Integrating these options directly into the EIM would provide a much more seamless user experience.

Additional context

These enhancements would significantly improve the setup process for China's large ESP32 developer community and likely reduce installation issues. Thank you for considering this proposal.

The VS Code ESP-IDF extension already has a similar implementation: espressif/vscode-esp-idf-extension#1692

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions