最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python IDE環(huán)境構建過程詳解(推薦)

 更新時間:2026年03月27日 09:18:20   作者:韓公子的Linux大集市  
IDE代表集成開發(fā)環(huán)境,它不僅包括用于管理代碼的標準代碼編輯器,而且還提供用于調試,執(zhí)行和測試的全面工具集,這是軟件開發(fā)的必備功能,這篇文章主要介紹了Python IDE環(huán)境構建的相關資料,需要的朋友可以參考下

一、選擇你的“編程車間”

主流Python IDE對比

IDE適合人群優(yōu)點缺點
PyCharm專業(yè)開發(fā)者/團隊功能最全,智能提示一流,Django支持好占用內存大,啟動慢
VS Code全棧/前端轉Python輕量快速,擴展豐富,免費開源需要自己配置,初始功能簡單
Jupyter Notebook數據科學/教學交互式編程,圖文并茂,適合數據分析不適合大型項目開發(fā)
Spyder科學計算/學術類MATLAB界面,數據查看方便界面較老,生態(tài)一般
Sublime Text輕量編輯器愛好者極速啟動,多光標強大需要手動配置插件

新手建議

  • 想開箱即用 → PyCharm社區(qū)版(免費)
  • 喜歡DIY折騰 → VS Code
  • 做數據分析 → Jupyter Notebook

二、VS Code環(huán)境搭建(推薦)

2.1 基礎安裝步驟

# 1. 安裝VS Code
# 官網:https://code.visualstudio.com/
# 2. 安裝Python
# 官網:https://www.python.org/downloads/
# Windows注意:安裝時勾選"Add Python to PATH"
# 3. 驗證安裝
python --version
# 輸出:Python 3.x.x
# 4. 在VS Code中安裝Python擴展
# 按 Ctrl+Shift+X,搜索"Python",安裝Microsoft官方的Python擴展

2.2 必裝擴展列表

// 在VS Code的settings.json中添加擴展推薦
{
  "recommendations": [
    "ms-python.python",                    // Python核心支持
    "ms-python.vscode-pylance",           // 智能補全
    "ms-python.black-formatter",          // 代碼格式化
    "ms-python.isort",                    // 導入排序
    "njpwerner.autodocstring",            // 自動生成文檔字符串
    "ms-toolsai.jupyter",                 // Jupyter筆記本支持
    "ms-toolsai.jupyter-keymap",          // Jupyter快捷鍵
    "donjayamanne.python-extension-pack", // Python擴展包
    "eamodio.gitlens",                    // Git增強
    "Gruntfuggly.todo-tree",              // TODO管理
    "VisualStudioExptTeam.vscodeintellicode" // AI輔助編碼
  ]
}

2.3 配置文件詳解

// .vscode/settings.json - 工作區(qū)配置
{
  // Python解釋器設置
  "python.defaultInterpreterPath": "${workspaceFolder}/.venv/Scripts/python.exe",
  "python.terminal.activateEnvironment": true,
  // 代碼格式化
  "editor.formatOnSave": true,
  "editor.codeActionsOnSave": {
    "source.organizeImports": true
  },
  "python.formatting.provider": "black",
  "python.formatting.blackArgs": [
    "--line-length=88"
  ],
  "python.sortImports.args": [
    "--profile=black"
  ],
  // 代碼檢查
  "python.linting.enabled": true,
  "python.linting.pylintEnabled": true,
  "python.linting.flake8Enabled": true,
  "python.linting.mypyEnabled": true,
  "python.linting.pylintArgs": [
    "--load-plugins=pylint_django"
  ],
  // 測試配置
  "python.testing.pytestEnabled": true,
  "python.testing.unittestEnabled": false,
  "python.testing.pytestArgs": [
    "tests"
  ],
  // 文件排除
  "files.exclude": {
    "**/__pycache__": true,
    "**/.pytest_cache": true,
    "**/.mypy_cache": true,
    "**/.coverage": true
  },
  // 其他設置
  "python.analysis.autoImportCompletions": true,
  "python.analysis.typeCheckingMode": "basic",
  "files.autoSave": "afterDelay",
  "terminal.integrated.defaultProfile.windows": "Command Prompt"
}
// .vscode/launch.json - 調試配置
{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Python: 當前文件",
      "type": "python",
      "request": "launch",
      "program": "${file}",
      "console": "integratedTerminal",
      "justMyCode": true
    },
    {
      "name": "Python: Django",
      "type": "python",
      "request": "launch",
      "program": "${workspaceFolder}/manage.py",
      "args": ["runserver"],
      "django": true
    },
    {
      "name": "Python: 測試",
      "type": "python",
      "request": "launch",
      "program": "${file}",
      "purpose": ["debug-test"],
      "console": "integratedTerminal"
    }
  ]
}

三、虛擬環(huán)境管理

3.1 創(chuàng)建虛擬環(huán)境

# 方法1:使用venv(Python內置,推薦)
python -m venv .venv
# 方法2:使用virtualenv(更靈活)
pip install virtualenv
virtualenv .venv
# 方法3:使用conda(數據科學常用)
conda create -n myenv python=3.9
conda activate myenv

3.2 激活虛擬環(huán)境

# Windows
.venv\Scripts\activate
# Linux/Mac
source .venv/bin/activate
# 驗證是否激活
which python  # 應該顯示.venv路徑
pip list      # 應該只有基礎包

3.3 依賴管理

# pyproject.toml - 現代Python項目配置
[build-system]
requires = ["setuptools>=61.0", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "my_project"
version = "0.1.0"
description = "我的Python項目"
readme = "README.md"
requires-python = ">=3.9"
dependencies = [
    "requests>=2.28.0",
    "pandas>=1.5.0",
    "numpy>=1.24.0",
]
[project.optional-dependencies]
dev = [
    "pytest>=7.0.0",
    "black>=23.0.0",
    "mypy>=1.0.0",
    "flake8>=6.0.0",
]
web = [
    "fastapi>=0.95.0",
    "uvicorn[standard]>=0.21.0",
]
[tool.black]
line-length = 88
target-version = ['py39']
[tool.isort]
profile = "black"
line_length = 88
[tool.mypy]
python_version = "3.9"
warn_return_any = true
warn_unused_configs = true
disallow_untyped_defs = true
[tool.pytest.ini_options]
testpaths = ["tests"]
python_files = ["test_*.py"]
addopts = "-v --tb=short"
# requirements.txt - 傳統依賴文件
# 基礎依賴
requests==2.28.2
pandas==1.5.3
numpy==1.24.3
# 開發(fā)依賴
pytest==7.3.1
black==23.3.0
mypy==1.3.0
flake8==6.0.0
pre-commit==3.3.2
# 通過注釋分組
# 網絡框架
fastapi==0.95.2
uvicorn[standard]==0.21.1
# 數據庫
sqlalchemy==2.0.15
psycopg2-binary==2.9.6

3.4 依賴管理命令

# 安裝項目依賴
pip install -e .
# 安裝開發(fā)依賴
pip install -e ".[dev]"
# 生成requirements.txt
pip freeze > requirements.txt
# 從requirements.txt安裝
pip install -r requirements.txt
# 使用pip-tools管理版本
pip install pip-tools
pip-compile requirements.in  # 生成requirements.txt
pip-sync  # 同步環(huán)境

四、項目目錄結構

my_project/
├── .github/                    # GitHub配置
│   ├── workflows/              # CI/CD流水線
│   │   ├── test.yml
│   │   └── deploy.yml
│   └── ISSUE_TEMPLATE/         # Issue模板
├── .vscode/                    # VS Code配置
│   ├── settings.json
│   ├── launch.json
│   └── extensions.json
├── src/                        # 源代碼
│   └── my_package/
│       ├── __init__.py
│       ├── core.py
│       ├── utils.py
│       └── models/
│           ├── __init__.py
│           └── user.py
├── tests/                      # 測試代碼
│   ├── __init__.py
│   ├── test_core.py
│   ├── test_utils.py
│   └── conftest.py
├── docs/                       # 文檔
│   ├── index.md
│   ├── api/
│   └── examples/
├── scripts/                    # 腳本
│   ├── setup.py
│   ├── deploy.sh
│   └── backup.py
├── notebooks/                  # Jupyter筆記本
│   ├── 01-exploratory.ipynb
│   └── 02-analysis.ipynb
├── .env.example                # 環(huán)境變量示例
├── .gitignore                  # Git忽略文件
├── .pre-commit-config.yaml     # Git鉤子配置
├── pyproject.toml              # 項目配置
├── README.md                   # 項目說明
├── LICENSE                     # 許可證
├── Dockerfile                  # Docker配置
├── docker-compose.yml          # Docker編排
└── setup.py                    # 舊式打包配置

五、開發(fā)工具鏈

5.1 代碼質量工具

# .pre-commit-config.yaml - Git提交前檢查
repos:
  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v4.4.0
    hooks:
      - id: trailing-whitespace        # 刪除行尾空格
      - id: end-of-file-fixer          # 確保文件以換行結束
      - id: check-yaml                 # 檢查YAML語法
      - id: check-added-large-files    # 檢查大文件
      - id: check-ast                  # 檢查Python語法
      - id: check-merge-conflict       # 檢查合并沖突標記
      - id: debug-statements           # 檢查調試語句
  - repo: https://github.com/psf/black
    rev: 23.3.0
    hooks:
      - id: black
        language_version: python3.9
  - repo: https://github.com/pycqa/isort
    rev: 5.12.0
    hooks:
      - id: isort
        args: ["--profile", "black"]
  - repo: https://github.com/pycqa/flake8
    rev: 6.0.0
    hooks:
      - id: flake8
        additional_dependencies: [flake8-docstrings]
        args: ["--max-line-length=88", "--extend-ignore=E203,W503"]
  - repo: https://github.com/pre-commit/mirrors-mypy
    rev: v1.3.0
    hooks:
      - id: mypy
        additional_dependencies: [types-requests]
        args: [--ignore-missing-imports]

5.2 測試配置

# tests/conftest.py - Pytest配置文件
import pytest
import sys
from pathlib import Path
# 添加src到Python路徑
sys.path.insert(0, str(Path(__file__).parent.parent / "src"))
# 全局fixture
@pytest.fixture(autouse=True)
def setup_test_env(monkeypatch):
    """為每個測試設置環(huán)境變量"""
    monkeypatch.setenv("TESTING", "True")
    monkeypatch.setenv("DATABASE_URL", "sqlite:///:memory:")
@pytest.fixture
def sample_data():
    """提供測試數據"""
    return {
        "name": "test",
        "value": 123
    }
# 自定義標記
def pytest_configure(config):
    config.addinivalue_line(
        "markers", "slow: 標記為慢速測試(需手動運行)"
    )
    config.addinivalue_line(
        "markers", "integration: 集成測試"
    )
# tests/test_example.py - 測試示例
import pytest
from my_package.core import add, divide
class TestMathFunctions:
    """數學函數測試"""
    def test_add_positive(self):
        """測試正數相加"""
        assert add(2, 3) == 5
        assert add(0, 0) == 0
    def test_add_negative(self):
        """測試負數相加"""
        assert add(-1, -1) == -2
    @pytest.mark.parametrize("a,b,expected", [
        (1, 2, 3),
        (10, 20, 30),
        (-5, 5, 0),
    ])
    def test_add_parametrized(self, a, b, expected):
        """參數化測試"""
        assert add(a, b) == expected
    def test_divide_by_zero(self):
        """測試除以零異常"""
        with pytest.raises(ValueError, match="除數不能為零"):
            divide(10, 0)
    @pytest.mark.slow
    def test_slow_operation(self):
        """慢速測試(標記為slow)"""
        result = slow_operation()
        assert result is not None
    @pytest.fixture
    def sample_list(self):
        """測試級別的fixture"""
        return [1, 2, 3, 4, 5]
    def test_with_fixture(self, sample_list):
        """使用fixture的測試"""
        assert len(sample_list) == 5
        assert 3 in sample_list

5.3 自動化腳本

# scripts/setup.py - 項目設置腳本
#!/usr/bin/env python3
"""
項目初始化腳本
"""
import os
import sys
import subprocess
from pathlib import Path
import shutil
def run_command(cmd, cwd=None):
    """運行shell命令"""
    print(f"執(zhí)行: {cmd}")
    result = subprocess.run(cmd, shell=True, cwd=cwd, capture_output=True, text=True)
    if result.returncode != 0:
        print(f"錯誤: {result.stderr}")
        return False
    print(f"輸出: {result.stdout}")
    return True
def setup_project():
    """設置項目環(huán)境"""
    project_dir = Path(__file__).parent.parent
    # 1. 創(chuàng)建虛擬環(huán)境
    print("\n1. 創(chuàng)建虛擬環(huán)境...")
    if not (project_dir / ".venv").exists():
        if not run_command("python -m venv .venv", cwd=project_dir):
            return False
    # 2. 激活虛擬環(huán)境并安裝依賴
    print("\n2. 安裝依賴...")
    pip_path = project_dir / ".venv" / "Scripts" / "pip"
    if sys.platform != "win32":
        pip_path = project_dir / ".venv" / "bin" / "pip"
    if not run_command(f"{pip_path} install -e .[dev]"):
        return False
    # 3. 安裝pre-commit鉤子
    print("\n3. 設置Git鉤子...")
    if not run_command("pre-commit install"):
        return False
    # 4. 創(chuàng)建.env文件
    print("\n4. 創(chuàng)建環(huán)境變量文件...")
    env_example = project_dir / ".env.example"
    env_file = project_dir / ".env"
    if env_example.exists() and not env_file.exists():
        shutil.copy(env_example, env_file)
        print(f"已創(chuàng)建 .env 文件,請根據需求修改")
    print("\n? 項目設置完成!")
    print("下一步:")
    print("1. 編輯 .env 文件設置環(huán)境變量")
    print("2. 運行測試: pytest tests/")
    print("3. 啟動開發(fā)服務器: python -m my_package.main")
    return True
if __name__ == "__main__":
    if setup_project():
        sys.exit(0)
    else:
        sys.exit(1)

六、專業(yè)開發(fā)配置

6.1 Docker開發(fā)環(huán)境

# Dockerfile
FROM python:3.9-slim
# 設置工作目錄
WORKDIR /app
# 設置環(huán)境變量
ENV PYTHONDONTWRITEBYTECODE=1 \
    PYTHONUNBUFFERED=1 \
    PIP_NO_CACHE_DIR=1
# 安裝系統依賴
RUN apt-get update && apt-get install -y \
    gcc \
    postgresql-client \
    && rm -rf /var/lib/apt/lists/*
# 復制依賴文件
COPY requirements.txt .
# 安裝Python依賴
RUN pip install --upgrade pip && \
    pip install -r requirements.txt
# 復制項目代碼
COPY . .
# 創(chuàng)建非root用戶
RUN useradd -m -u 1000 appuser && chown -R appuser:appuser /app
USER appuser
# 運行命令
CMD ["python", "src/my_package/main.py"]
# docker-compose.yml
version: '3.8'

services:
  web:
    build: .
    ports:
      - "8000:8000"
    environment:
      - DATABASE_URL=postgresql://user:pass@db:5432/mydb
    volumes:
      - .:/app
      - ./data:/data
    depends_on:
      - db
      - redis
    command: uvicorn src.my_package.main:app --host 0.0.0.0 --port 8000 --reload

  db:
    image: postgres:15
    environment:
      POSTGRES_DB: mydb
      POSTGRES_USER: user
      POSTGRES_PASSWORD: pass
    volumes:
      - postgres_data:/var/lib/postgresql/data
    ports:
      - "5432:5432"

  redis:
    image: redis:7-alpine
    ports:
      - "6379:6379"

  pgadmin:
    image: dpage/pgadmin4
    environment:
      PGADMIN_DEFAULT_EMAIL: admin@admin.com
      PGADMIN_DEFAULT_PASSWORD: admin
    ports:
      - "5050:80"
    depends_on:
      - db

volumes:
  postgres_data:

6.2 性能分析工具

# scripts/profile.py - 性能分析腳本
import cProfile
import pstats
from pathlib import Path
def profile_code(func, *args, **kwargs):
    """
    分析函數性能
    參數:
        func: 要分析的函數
        *args, **kwargs: 函數參數
    """
    profiler = cProfile.Profile()
    profiler.enable()
    try:
        result = func(*args, **kwargs)
    finally:
        profiler.disable()
    # 輸出統計信息
    stats = pstats.Stats(profiler)
    stats.sort_stats(pstats.SortKey.TIME)
    print("\n" + "="*50)
    print("性能分析報告")
    print("="*50)
    # 打印前10個最耗時的函數
    stats.print_stats(10)
    # 保存到文件
    output_file = Path("profile_results.prof")
    stats.dump_stats(output_file)
    print(f"\n詳細結果已保存到: {output_file}")
    return result
# 使用示例
if __name__ == "__main__":
    def slow_function():
        total = 0
        for i in range(1000000):
            total += i
        return total
    result = profile_code(slow_function)
    print(f"結果: {result}")

七、快速開始模板

#!/bin/bash
# 快速創(chuàng)建Python項目
# 使用方法: ./create_python_project.sh my_project
set -e  # 遇到錯誤立即退出
PROJECT_NAME=$1
if [ -z "$PROJECT_NAME" ]; then
    echo "用法: $0 <項目名>"
    exit 1
fi
echo "創(chuàng)建Python項目: $PROJECT_NAME"
# 創(chuàng)建項目目錄
mkdir -p "$PROJECT_NAME"
cd "$PROJECT_NAME"
# 創(chuàng)建目錄結構
mkdir -p src/"$PROJECT_NAME"
mkdir -p tests
mkdir -p docs
mkdir -p scripts
mkdir -p .github/workflows
mkdir -p .vscode
# 創(chuàng)建基礎文件
touch src/"$PROJECT_NAME"/__init__.py
touch tests/__init__.py
touch README.md
touch pyproject.toml
touch .gitignore
touch .env.example
touch .pre-commit-config.yaml
touch docker-compose.yml
touch Dockerfile
echo "# $PROJECT_NAME" > README.md
# 創(chuàng)建虛擬環(huán)境
python -m venv .venv
echo ""
echo "? 項目 '$PROJECT_NAME' 創(chuàng)建完成!"
echo ""
echo "下一步:"
echo "1. cd $PROJECT_NAME"
echo "2. source .venv/bin/activate  # Windows: .venv\Scripts\activate"
echo "3. 編輯 pyproject.toml 配置項目"
echo "4. pip install -e .[dev]"

八、實用技巧總結

8.1 VS Code快捷鍵(Windows/Linux)

快捷鍵功能
Ctrl + ,打開設置
Ctrl + Shift + P命令面板
Ctrl + 打開終端
F5啟動調試
F9切換斷點
F12跳轉到定義
Ctrl + 鼠標點擊跳轉到定義
Alt + ↑/↓上下移動行
Shift + Alt + ↑/↓復制行
Ctrl + D選擇下一個相同文本
Ctrl + /注釋/取消注釋
Shift + Alt + F格式化文檔

8.2 常見問題解決

# 1. VS Code找不到Python解釋器
# 按 Ctrl+Shift+P,輸入"Python: Select Interpreter",選擇正確的解釋器
# 2. 導入錯誤(ModuleNotFoundError)
# 在項目根目錄添加 .env 文件,設置PYTHONPATH
# PYTHONPATH=src
# 3. 虛擬環(huán)境激活失敗
# Windows權限問題:以管理員運行PowerShell,執(zhí)行:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
# 4. pip安裝慢
# 使用國內鏡像
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple package_name
# 5. 格式化不工作
# 檢查是否安裝了black,并在settings.json中配置正確

8.3 生產環(huán)境建議

  1. 使用Docker:確保環(huán)境一致性
  2. 設置環(huán)境變量:不要硬編碼配置
  3. 使用日志:不要用print調試
  4. 添加監(jiān)控:使用Sentry等錯誤監(jiān)控
  5. 編寫文檔:代碼注釋、API文檔、使用說明
  6. 自動化測試:CI/CD流水線
  7. 代碼審查:使用GitHub/GitLab的PR流程
  8. 性能測試:壓力測試、負載測試

一句話總結

Python開發(fā)環(huán)境 = 選對編輯器 + 配好虛擬環(huán)境 + 裝上必備工具鏈 + 建立標準化工作流。核心原則是:用自動化工具保證代碼質量,用虛擬環(huán)境隔離依賴,用版本控制管理變更。

到此這篇關于Python IDE環(huán)境構建過程的文章就介紹到這了,更多相關Python IDE環(huán)境構建內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 解決Python出現_warn_unsafe_extraction問題的方法

    解決Python出現_warn_unsafe_extraction問題的方法

    這篇文章主要為大家詳細介紹了解決Python出現'_warn_unsafe_extraction'問題的方法,感興趣的小伙伴們可以參考一下
    2016-03-03
  • Python 游戲大作炫酷機甲闖關游戲爆肝數千行代碼實現案例進階

    Python 游戲大作炫酷機甲闖關游戲爆肝數千行代碼實現案例進階

    本篇文章給大家?guī)鞵ython的一個游戲大制作—機甲闖關冒險,數千行代碼實現的游戲,過程很詳細,對大家的學習或工作具有一定的借鑒價值,需要的朋友可以參考下
    2021-10-10
  • 利用pandas進行數據清洗的方法

    利用pandas進行數據清洗的方法

    本文主要介紹了利用pandas進行數據清洗的方法,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • 用Python進行行為驅動開發(fā)的入門教程

    用Python進行行為驅動開發(fā)的入門教程

    這篇文章主要介紹了用Python進行行為驅動開發(fā)的入門教程,本文也對BDD的概念做了詳細的解釋,需要的朋友可以參考下
    2015-04-04
  • django中日志模塊logging的配置和使用方式

    django中日志模塊logging的配置和使用方式

    文章主要介紹了如何在Django項目的`settings.py`文件中配置日志記錄,并使用日志模塊記錄不同級別的日志,日志級別包括DEBUG、INFO、WARNING、ERROR和CRITICAL,級別越高,記錄的日志越詳細,通過配置和使用日志記錄器,可以更好地排查和監(jiān)控系統問題
    2025-01-01
  • NumPy實現從已有的數組創(chuàng)建數組

    NumPy實現從已有的數組創(chuàng)建數組

    本文介紹了NumPy中如何從已有的數組創(chuàng)建數組,包括使用numpy.asarray,numpy.frombuffer和numpy.fromiter方法,具有一定的參考價值,感興趣的可以了解一下
    2024-10-10
  • Python虛擬環(huán)境(venv)的全面使用指南

    Python虛擬環(huán)境(venv)的全面使用指南

    Python 虛擬環(huán)境(Virtual Environment)是 Python 開發(fā)中不可或缺的隔離機制,本指南基于官方 venv 模塊,結合跨平臺實戰(zhàn)經驗,從背景歷史到進階技巧,全方位解析虛擬環(huán)境的創(chuàng)建、管理、依賴處理及避坑指南,需要的朋友可以參考下
    2026-03-03
  • Numpy中ndim、shape、dtype、astype的用法詳解

    Numpy中ndim、shape、dtype、astype的用法詳解

    這篇文章主要介紹了Numpy中ndim、shape、dtype、astype的用法詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-06-06
  • python opencv通過4坐標剪裁圖片

    python opencv通過4坐標剪裁圖片

    圖片剪裁是常用的方法,那么如何通過4坐標剪裁圖片,本文就詳細的來介紹一下,感興趣的小伙伴們可以參考一下
    2021-06-06
  • django template 模板渲染的實現

    django template 模板渲染的實現

    Django 的模板系統旨在使設計人員能夠編寫 HTML,同時以一種安全和靈活的方式動態(tài)顯示數據,本文主要介紹了django template模板渲染的實現,具有一定的參考價值,感興趣的可以了解一下
    2025-01-01

最新評論

巴中市| 曲麻莱县| 苏尼特右旗| 钟山县| 石首市| 同仁县| 保靖县| 樟树市| 潞西市| 清丰县| 南川市| 马公市| 肇庆市| 通许县| 临沭县| 常州市| 肇州县| 灌南县| 浦江县| 盐亭县| 徐汇区| 苏尼特右旗| 平远县| 松阳县| 黔西| 都兰县| 西林县| 桐庐县| 铁岭县| 永靖县| 墨玉县| 太原市| 稻城县| 定兴县| 纳雍县| 吕梁市| 高州市| 交口县| 蚌埠市| 平远县| 衡阳县|