Debian 配置 Python 开发与运行环境

配置 Python 开发与运行环境。

1.3.1. Debian下的安装与配置

Debian 是一个致力于自由软件开发并宣扬自由软件基金会理念的自愿者组织。 Debian 计划创建于 1993 年。当时,Ian Murdock 发出一份公开信, 邀请软件开发者们参与构建一个基于较新的 Linux 内核的完整而紧密的软件发行版。 经过多年的成长,那群由 自由软件基金会资助并受 GNU 哲理影响的爱好者已经演变为一个拥有大约 1026 位 Debian 开发人员的组织。

Debian 计划是一个致力于创建一个自由操作系统的合作组织。我们所创建的这个操作系统名为 Debian。 操作系统是使计算机运行的基本程序和工具的集合,其中最主要的部分称为内核 (kernel)。 内核是计算机中最重要的程序,负责一切基本的调度工作,并让您运行其他程序。 Debian 系统目前采用 Linux 内核或者 FreeBSD 内核。 Linux 是一个最初由 Linus Torvalds 创建,目前由全球成千上万的程序师共同维护的软件。 FreeBSD 是一个包括内核和其它软件的操作系统。 然而,让 Debian 支持其他内核的工作也正在进行,最主要的就是 Hurd。Hurd 是一组在微内核 (例如 Mach) 上运行的提供各种不同功能的守护进程。 Hurd 是由 GNU 工程所设计的自由软件。 我们所创建的这个操作系统中的大部分基本工具来自于 GNU 工程;因此我们把它们命名为 GNU/Linux GNU/kFreeBSD 和 GNU/Hurd。这些工具同样都是自由的。

在Debian 8最新版本中查看:

复制代码
$ uname -a
Linux localhost 3.16.0-4-amd64 #1 SMP Debian 3.16.39-1+deb8u2 (2017-03-07) x86_64 GNU/Linux

1.3.2. 基本类库的安装

APT 是 Debian 以及从 Debian 衍生出的发行版(比如 Ubuntu)使用的包管理系统。 从用户的角度来说,基本包管理功能由命令提供。Linux 开发人员一直致力于让 Linux 更容易使用, 他们开发了其他工具(包括 GUI 工具)来补充基本工具,这对最终用户隐藏了基本工具的一部分。

更新 Debian 包 如果需要更新某个包,同样应该使用带 install 选项的 apt-get 命令。 在更新包之前,一定要运行 apt-get update,从而确保本地数据库反映最新的可用更新。

除了更新指定的包之外,还可以使用 apt-get upgrade 命令更新系统上的所有包。 与之相似,apt-get dist-upgrade 帮助迁移到发行版的新级别。 关于 apt-get 的其他功能和选项的更多信息参见手册页。

apt-get 是一种高级的软件包管理工具,在安装软件时,会自动解决软件安装过程中的依赖关系;

ap-get remove 不会自动删除不需要的软件包

aptitude 是一种带有UI界面的更高级的软件包安装管理工具, 自动解决软件包安装中的依赖关系; 并且在删除的时候,会自动删除不需要的软件依赖关系安装包。

1.3.3. 查看软件、类库的关系

查看版本:

复制代码
apt-cache show gdal-bin

apt-cache depends gdal-bin

1.3.4. 安装Python

GNU/Linux 操作系统中一般都带有 Python 安装版。 不必单独安装。

1.3.5. 安装相关组件与类库

在 Debian Linux 中的开源GIS组件依赖关系图 。

图 1.5 开源类库关系图

GDAL/OGR的安装

复制代码
# aptitude install python3-gdal gdal-bin

PROJ.4的安装

复制代码
# aptitude install  python3-pyproj proj-bin

Shapely的安装

复制代码
# aptitude install python3-shapely

Fiona的安装

复制代码
# aptitude install fiona python3-fiona

SpatiaLite安装

复制代码
aptitude install python-pyspatialite spatialite-bin

感谢 Linux 程序员们,感谢 Debian , 在 Debian 9中, 安装与使用 Mapnik 非常简单。

复制代码
# aptitude install python3-mapnik

bk@v:~$ python3 -c "import mapnik;print (mapnik.__file__)"
/usr/lib/python3/dist-packages/mapnik/__init__.py

执行上述代码后应该返回Python绑定的目录并且不出现错误。 如果上述没有成功,请回去检查下Mapnik有没有成功安装。

1.3.6. 编辑器与开发环境

最好是免费, 开源更好。 下面都是根据实际用过的情况介绍:

编辑器

初学, 建议使用纯文本编辑器。

  • Linux:Gvim, Emacs, Gedit. 选择一个就行。

  • Windows:Gvim, Notepad++, Editplut, E Text Editor(Windows下的textmate), UltraEdit(商业软件)。

  • Mac OS X:Gvim, 传说中的textmate(没用过)。

IDE

  • Linux:eclipse + pydev, Gvim + 相关插件

  • Windows: Eclipse + pydev, Gvim + 相关插件, IDLE(Python自带,外观简陋, 其实很强大), Ulipad(国内大牛开发)

PyCharm的配置与使用

一般情况下,如果不涉及 Web 开发,使用 PyCharm Community 版本完全可以满足要求。 另外,对于教育,或者在维护的开源项目(一年以上的活跃项目)可以申请免费的授权来使用专业版本。

相关推荐
Theodore_10222 小时前
4 设计模式原则之接口隔离原则
java·开发语言·设计模式·java-ee·接口隔离原则·javaee
网易独家音乐人Mike Zhou3 小时前
【卡尔曼滤波】数据预测Prediction观测器的理论推导及应用 C语言、Python实现(Kalman Filter)
c语言·python·单片机·物联网·算法·嵌入式·iot
安静读书3 小时前
Python解析视频FPS(帧率)、分辨率信息
python·opencv·音视频
----云烟----4 小时前
QT中QString类的各种使用
开发语言·qt
lsx2024064 小时前
SQL SELECT 语句:基础与进阶应用
开发语言
小二·4 小时前
java基础面试题笔记(基础篇)
java·笔记·python
开心工作室_kaic5 小时前
ssm161基于web的资源共享平台的共享与开发+jsp(论文+源码)_kaic
java·开发语言·前端
向宇it5 小时前
【unity小技巧】unity 什么是反射?反射的作用?反射的使用场景?反射的缺点?常用的反射操作?反射常见示例
开发语言·游戏·unity·c#·游戏引擎
武子康5 小时前
Java-06 深入浅出 MyBatis - 一对一模型 SqlMapConfig 与 Mapper 详细讲解测试
java·开发语言·数据仓库·sql·mybatis·springboot·springcloud
转世成为计算机大神5 小时前
易考八股文之Java中的设计模式?
java·开发语言·设计模式