基于anaconda的geopandas 的安装和使用笔记

    技术2022-07-12  72

    镜像准备

    将镜像源替换为国内镜像,可大幅度提升python包的下载速度

    pip国内镜像 在用户文件夹下新建pip文件夹,在pip文件夹中新建txt文件,将下面代码复制进去,并重命名为pip.ini [global] index-url = https://pypi.douban.com/simple [install] trusted-host=pypi.douban.com timeout = 150 conda国内镜像 直接在用户文件夹下新建txt文件,将下面代码复制进去,并重命名为.condarc channels: - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/ - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/ - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/ show_channel_urls: true always_yes: true ssl_verify: true

    anaconda虚拟环境管理技巧

    查看环境 conda env list 查看所在环境中的包 conda list 安装/卸载包 conda install 包名称 # conda找不到时 可以用pip install conda uninstall 包名称 # 卸载包时也会卸载对应的依赖包 新建虚拟环境 conda create -n 环境名 python=3.7.6 # -n是指name, 也可用--name,python为可选项 克隆虚拟环境 conda create -n 新环境名 --clone 原环境名 删除虚拟环境 conda remove -n 环境名 --all 导出虚拟环境 activate 环境名 conda env export > 文件名.yaml 导入虚拟环境 conda env create -f 文件名.yaml

    安装geopandas

    本文的按装方法是直接安装geopandas的开发环境,这样避免了直接通过conda install geopandas导致部分包不兼容的问题,避免了没必要的报错。

    将下面代码保存为environment.yml文件 name: geopandas-dev channels: - conda-forge dependencies: - python==3.8.2 # required - fiona>=1.7 - pandas>=0.23.4 - pyproj>=2.2.0 - shapely>=1.5 # geodatabase access - psycopg2>=2.5.1 - SQLAlchemy>=0.8.3 # geocoding - geopy # plotting - descartes>=1.0 - matplotlib>=2.0 # testing - mock>=1.0.1 # technically not need for python >= 3.3 - pytest>=3.1.0 - pytest-cov - codecov # spatial access methods - rtree>=0.8 # styling - black - pre-commit 通过本地yml文件创建环境,文件夹中的environment.yml文件应该是开发环境,安装出来的环境名称为geopandas-dev,如果出现HTTPERROR,右键-打开方式-记事本(或任何一种编辑软件如notepad++),将channels部分更改为上面的conda国内镜像 conda env create -f environment.yml

    切换到安装好的环境geopandas-dev并安装一下geopandas(安装的环境是开发用的环境,是没有geopandas的,需要手动安装一下) activate geopandas-dev # conda install geopandas pip install geopandas==0.8.0 安装nb_conda(用于在jupyter中切换环境) conda install nb_conda 在base环境安装nb_conda(防止从Anaconda的快捷方式中启动jupyter notebook时不能切换环境) activate base conda install nb_conda 克隆一份环境,原来的名字太长了,改个短一点的叫做gs,环境是没有rename的功能的,想改名称只能克隆一份,然后把原来的删掉 conda create -n gs --clone geopandas-dev 激活/退出环境,环境之间切换是不用退出的,直接激活另一个就可以,所以退出环境的功能基本上用不着 activete gs conda deactivate

    虚拟环境的使用

    在命令行里使用虚拟环境

    activate gs # 激活虚拟环境gs python xxxx.py

    bat文件通过conda环境运行

    bat文件运行脚本内容: ECHO Running Admin shell call C:\ProgramData\Anaconda3\Scripts\activate.bat gs python XXXX.py # 如果在运行后不想自动关闭窗口加上参数 -i 即:`python -i xxxx.py`

    上面的三行分别为:

    启动shell切换到名为‘gs’的环境,注:写正确anaconda文件夹中的activate.bat的路径运行 XXXX.py的python脚本

    在pycharm使用conda环境

    conda env list可以查看环境所在的位置

    λ conda env list #conda environments: base * C:\ProgramData\Anaconda3 geopandas-dev C:\ProgramData\Anaconda3\envs\geopandas-dev gis C:\ProgramData\Anaconda3\envs\gis gs C:\ProgramData\Anaconda3\envs\gs py36 C:\ProgramData\Anaconda3\envs\py36

    打开Pycharm的设置页面: file–setting–project–齿轮–add(如图所示) conda environment – existing environment – 三个点

    输入环境路径,选择python.exe

    在jupyter里使用conda环境

    在jupyter notebook中切换虚拟环境 切换到要使用的虚拟环境,并安装nb_conda,该操作在每个环境里只需要运行一次 activate 环境名 conda install nb_conda 在jupyter新建脚本时即可选择环境: 代码中也可以切换环境: 小技巧:通过桌面图标运行jupyter notebook 新建文本文件,保存以下代码: ECHO Running Admin shell start jupyter notebook

    将后缀改为.bat,双击运行即可 如果base环境有问题,要通过虚拟环境来运行,可以加一行

    ECHO Running Admin shell call C:\ProgramData\Anaconda3\Scripts\activate.bat gs start jupyter notebook

    . . . . . . . . . .

    未完待续

    Processed: 0.012, SQL: 10