开发工具篇 - 持续连载中

@ 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)
posted @ 2025-07-10 16:03  李天豪  阅读(51)  评论(1)    收藏  举报