开发工具篇 - 持续连载中
@ 20240710 & lth
编写时间:2025-07-10
更新时间:2025-07-30
使用语言:python
包管理:miniconda & uv
IDE:VScode
交互开发环境:jupyter
代码管理:github
打包工具: pyinstaller、Nuitka
迁移部署:docker、podman
常用包:
空间数据处理:gdal、geopandas、ratserio
效率:threading、multiprocessing
应用框架:flask
常用工具:
开源远程及数据库工具:HEXHUB --免安装 https://www.hexhub.cn/
协作
1. Conda 一致地管理所有依赖关系,环境隔离
2. VS Code 中编写代码,具有智能完成和调试
3. JupyterLab 在笔记本中实验和可视化数据
4. Git 跟踪所有更改并实现协作
5. Docker 确保可重现的环境和轻松部署
1. Conda
推荐使用miniconda
环境配置
安装完成后,您可以关闭 PowerShell 窗口。转到开始菜单并搜索“Anaconda Prompt”以打开新的终端
------------------------------Windows PowerShell-------------------------------
# 下载安装
curl https://repo.anaconda.com/miniconda/Miniconda3-latest-Windows-x86_64.exe - o .\miniconda.exe
start /wait "" .\miniconda.exe /S
del .\miniconda.exe
# 初始化
source ~/miniconda3/bin/activate
conda init --all
------------------------------------Linux--------------------------------------
# 下载安装
mkdir -p ~/miniconda3
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/ miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
rm ~/miniconda3/miniconda.sh
------------------------------------初始化--------------------------------------
source ~/miniconda3/bin/activate
conda init --all
conda init cmd.exe
# 验证安装结果 & 基础配置
conda --version
conda info
conda config --set auto_activate_base false
conda install -n base mamba -c conda-forge
常用命令
# 创建一个名为'geo'的新环境,包含Python 3.12
conda create -n geo python=3.12
# 激活环境
conda activate geo
# 在base环境中安装mamba以便更快的包管理
conda install -n base mamba -c conda-forge
# 安装地理空间编程的必需包,使用mamba加速
mamba install -c conda-forge pygis
# 导出包
conda env export -n myenv > myenv.yml
# 根据yml新建环境
conda env create -f environment.yml -n newname
包安装-UV
进入conda或自带的python环境,使用pip安装,uv是以项目的维度进行环境管理,uv 可以比 pip 快 10-100 倍进行包安装,实际没有
pip install uv
# 安装包
uv pip install jupyterlab leafmap
# 从requirements文件安装
uv pip install -r requirements.txt
2. VScode
轻量化代码编辑器,支持docker、remote-ssh扩展
代码质量和格式化:
• Black Formatter:遵循 PEP 8 标准的自动 Python 代码格式化
• Pylint:高级 Python 代码检查,用于捕获错误和执行编码标准
• autoDocstring:自动为您的函数生成 Python 文档字符串
• Prettier:JavaScript、JSON、CSS 等的代码格式化程序
开发工具:
• Docker:VS Code 的 Docker 支持
• IntelliCode:AI 辅助代码补全和建议
• CodeSnap:为文档生成美丽的代码截图
3. JupyterLab
交互式开发环境
环境配置
conda create -n geo python=3.12
conda activate geo
conda install -c conda-forge jupyterlab leafmap
常用命令
# 启动
jupyter lab
# 在特定端口启动(如果默认端口忙时有用)
jupyter lab --port=8889
# 启动时不自动打开浏览器(对远程服务器有用)
jupyter lab --no-browser --port=8888
4. Git
分布式版本控制系统
环境配置
# 注册
https://github.com
# 安装
https://git-scm.com/downloads
Windows:下载并运行安装程序 .exe 文件
Linux(Debian/Ubuntu): sudo apt install git
# 检查 Git 版本
git --version
# 检查安装位置
which git # macOS/Linux
where git # Windows
# 配置
git config --global user.name "您的全名"
git config --global user.email "your.github@email.com
# 工作流
工作目录 → 暂存区 → 本地仓库 → GitHub
(编辑) (git add) (git commit) (git push)
使用示例
克隆远程仓库
# 1. 在 GitHub 上新建一个空仓库(比如叫 my-project)
# 2. 然后在本地执行以下命令:
git clone https://github.com/your-username/my-project.git
# 3. 进入项目目录
cd my-project
# 4. 添加文件、提交更改
git add . 或 git add analysis.py
git commit -m "Initial commit"
# 5. 推送回远程仓库
git push
本地初始化
# 1. 创建项目目录并进入
mkdir my-project
cd my-project
# 2. 初始化本地 Git 仓库
git init
# 3. 添加文件并提交
git add .
git commit -m "Initial commit"
# 4. 添加远程仓库地址
git remote add origin https://github.com/your-username/my-project.git
# 5. 推送本地分支到远程(首次需指定默认上游分支)
git push -u origin master # 或 main,取决于你的默认分支名
5. Docker
提供整个开发环境
环境配置
------------------------------Windows-----------------------------
1. 转到 https://docker.github.net.cn/get-docker/
2. 下载适合您操作系统的 Docker Desktop
3. 运行安装程序并按照设置说明操作 https://www.docker.com
4. 安装后,Docker Desktop 将自动启动
5. 您将在系统托盘(Windows)或菜单栏(macOS)中看到 Docker 图标
------------------------------liunx-------------------------------
参考:https://docs.docker.com/desktop/setup/install/linux/
# 验证
docker --version
基础命令
# 拉取镜像
docker pull giswqs/pygis:book
# 命令行参数启动容器
docker run -it -p 8888:8888 -v $(pwd):/app/workspace giswqs/pygis:book
参数解释
• docker run :启动新容器
• -it :使容器交互式(您可以向其输入命令)
• -p 8888:8888 :将容器内的端口 8888 连接到您计算机上的端口 8888(用于 Jupyter)
• -v $(pwd):/app/workspace :与容器共享您的当前目录
• giswqs/pygis:book :要使用的 Docker 镜像名称和标签
# 运行容器内的要用
http://127.0.0.1:8888/lab?token=your_token_here
# 停止容器
docker stop container_name
# 列出镜像
docker images
# 列出容器
docker ps 列出所有包括未启动:docker ps -a
# 移除镜像或容器
docker rm name
6. Google Colab
基于云的 Jupyter 笔记本环境,提供对计算资源的免费访问,包括GPU 和 TPU
教学示例:[Google Colab](https://colab.research.google.com/github/giswqs/intro-gispro/blob/main)
个人:[GIS_Learning.ipynb - Colab](https://colab.research.google.com/drive/1yF-qBq2LLjIuyvJLdcG6M8WwVXCbpArF#scrollTo=pkS4GLX6DcH1)