Debian 配置 Python 开发与运行环境

ops/2024/10/17 19:03:57/

配置 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-binapt-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-mapnikbk@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 版本完全可以满足要求。 另外,对于教育,或者在维护的开源项目(一年以上的活跃项目)可以申请免费的授权来使用专业版本。


http://www.ppmy.cn/ops/119148.html

相关文章

手搓游戏 —— 生成式 AI 助手 Amazon Q Developer 初体验

文章目录 一、Amazon Q介绍二、实验环境准备2.1 下载项目安装包2.2 验证 Python 环境2.3 安装Amazon Q扩展2.4 授权Builder ID 三、Amazon Q 快速理解main.py四、Amazon Q快速梳理控制器逻辑五、启动像素沙盒开放世界程序六、在 update() 中实现传送功能七、定位并修复代码漏洞…

删除二叉树中以x为根节点的子树(包括根结点)

已知二叉树以二叉链表存储,编写算法完成:对于树中每个元素值为x的结点,删除以它为根的子树,并释放相应的空间。 思想: 删除二叉树采用后序遍历。先删除左子树,然后右子树,最后根。 利用层次遍…

三、数据分析入门

数据分析————pandas 前言一、DataFrame-保存数据到文件二、DataFrame-读取文件数据三、DataFrame-数据分析入门3.1 按列加载数据3.2 按行加载数据3.3 获取指定行 / 列数据 四、DataFrame-分组聚合计算五、Pandas-常用排序方法5.1 加载数据并查看5.2 完整具体需求 六、综合案…

python14_运算符复合赋值

复合赋值缩写 A 7 B 3 C "hello" D "world" E True F False# 加法赋值运算符,7 3 10 def add1(a, b):a b # 等同于a a breturn a# 字符串加法赋值运算符,hello world helloworld def add2(c, d):c d # 等同于字符串拼接,c c dreturn c# …

家庭网络的ip安全性高吗

家庭网络的IP安全性是一个重要的话题,涉及到如何保护家庭设备和用户的隐私。家庭网络的安全性既有其优势,也存在一些潜在的风险。以下是关于家庭网络IP安全性的几个关键点: 1. 家庭网络的优势 私有IP地址的使用 家庭网络中的设备通常使用私…

【工欲善其事】巧用 Sublime Text 生成带格式的 HTML 片段

文章目录 【工欲善其事】巧用 Sublime Text 生成带格式的 HTML 片段1 问题由来2 操作流程步骤1:打开代码片段定制页步骤2:在新标签页输入定制 XML步骤3:保存定义内容步骤4:功能测试 3 拓展 【工欲善其事】巧用 Sublime Text 生成带…

SpringBoot整合ELK实现日志监控(保姆级教程)

新建SpringBoot项目 pom依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.…

【LLM多模态】视频理解模型Cogvlm-video和MVBench评测基准

note Cogvlm-video模型通过视频抽帧&#xff08;24帧&#xff0c;每帧大小为224 x 224&#xff09;后经过ViT进行图像编码&#xff08;ViT中添加了2x2的卷积核更好的压缩视觉信息&#xff09;&#xff0c;使用adapter模块更好的将视觉特征和文本特征对齐&#xff0c;得到的图像…