python-dev and python3-dev 软件包

python-dev and python3-dev 软件包

Ubuntu 下名称 python-dev and python3-dev
CentOS 下名称 python-devel and python3-devel

Header files, a static library and development tools for building Python modules, extending the Python interpreter or embedding Python in applications.
This package is a dependency package, which depends on Debian’s default Python version.

Linux 发行版通常会把类库的头文件和相关的 pkg-config 分拆成一个单独的 xxx-dev or xxx-devel 包。

以 Python 为例,以下情况你是需要 python-dev or python-devel
自己安装一个源外的 python 类库,而这个类库内含需要编译调用 Python API 的 C/C++ 文件。
自己写的一个程序编译需要链接 libpythonXX.(a/so)。
(以上不含使用 ctypes/ffi 或者裸 dlsym 方式直接调用 libpython.so)。

其他正常使用 Python 或者通过安装源内的 Python 类库不需要 python-dev or python-devel
python-dev or python-devel 负责外部第三方 Python 相关包的编译需要的文件。

pkg = package

dependency [dɪ'pend(ə)nsɪ]:n. 属国,从属,从属物
package ['pækɪdʒ]:n. 包,包裹,套装软件,程序包 adj. 一揽子的 vt. 打包,将...包装

python-dev or python-devel 称为是 Python 的开发包,包括了一些用 C / Java / C# 等编写的 Python 扩展,在编译的时候依赖的头文件等信息。我们在编译一个用 C 语言编写的 Python 扩展模块时,里面会有 #include 这样的语句,因此需要先安装 python-dev or python-devel 开发包。

*-dev or *-devel 软件一般都是 C 语言编写的一些头文件或源文件,往往是其他模块或我们自己编写的模块在编译时,需要依赖的 *-dev or *-devel 软件包。

*-devel 开发包中包括一些头文件和静态链接库,任何 *-devel 包基本都是这样。

1. apt-cache depends python-dev

python-dev 软件包的依赖关系。

apt-cache depends python-dev
strong@foreverstrong:~$ apt-cache depends python-dev
python-dev
  Depends: python
  Depends: libpython-dev
  Depends: python2.7-dev
strong@foreverstrong:~$

2. apt-cache depends python3-dev

python3-dev 软件包的依赖关系。

apt-cache depends python3-dev
strong@foreverstrong:~$ apt-cache depends python3-dev
python3-dev
  Depends: python3
  Depends: libpython3-dev
  Depends: python3.5-dev
  Replaces: 
strong@foreverstrong:~$

3. python-dev and python3-dev

sudo apt-get install python-dev -y
sudo apt-get install python3-dev -y

你可能感兴趣的:(Python,3.x,-,Python,2.x)