`
chinamming
  • 浏览: 151502 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Python源码分析1 - Building Python

 
阅读更多

Python是一种动态的脚本语言。具体的我就不多介绍了,可以参考www.python.org. Python是Open Source的,在www.python.org可以下载到最新的2.5版的源代码。源代码链接在这里:Python 2.5

下载下来之后直接解压缩可以看到如下的目录结构:

Demo Demo用的代码,主要用来展示Python的一些应用
Doc Python的UserManual。Latex格式的
Grammar 语法文件。这个语法文件会在Python运行的时候被用来分析Python源代码
Include Python Include用的头文件
Lib Python的库文件
Mac For Mac
Misc 如字面意思,一些不适合放在其他地方的文件就放在这里了
Modules Python的一些Built-in Module的实现
Objects Python的基本内部对象的实现,比如class/list等等
Parser Python的词法分析和语法分析
PC 比较老的Windows和OS2的Port的项目以及Port用到的一些公用文件放在这里,PCBuild和PCBuild8都要用到这个目录的内容
PCBuild Python用于VS 2003的Project文件
PCbuild8 Python用于VS 2005的Project文件
Python Python主程序代码
RISCOS Python的RISC OS Port
Tools Build和Extend Python所需的工具

在Unix/Linux/Cywin下面可以直接键入:

./configure
make install

Windows用VC Build的话,可以直接打开PCBuild/PCBuild8下面相应的Solution来Build。直接Build的话会出不少错误,有必要做一些调整:

  1. 不是所有的Project都可以立刻Build,部分Project由于对第三方库有依赖,一般情况下可以直接跳过Build这些Project,而只Build核心的Python代码。在Configuration Manager里面直接Exclude就可以。必需的Project是:make_buildinfo, make_versioninfo, python, pythoncore
  2. PythoncoreProject少了一个文件,需要手动把Modules/_typesmodule.c加入到工程中去,再Build

今天就写到这里,下一篇我会通过跟踪执行一个最简单的Python代码来介绍Python执行的流程。

分享到:
评论

相关推荐

    Python-SLAM开发学习资源与经验分享

    1. Python在SLAM中的应用: Python是一种广泛用于数据科学和机器学习的编程语言,其丰富的库和简洁的语法使其成为SLAM研究的理想选择。例如,OpenCV库可以处理图像处理任务,NumPy和SciPy提供强大的数学计算功能,...

    python-pbr:RPM的RPM SPEC文件源-python source file

    Python-PBR,全称为"Python Package Building Revisited",是一个用于简化Python软件包构建过程的工具,特别是针对RPM(Red Hat Package Manager)系统。它提供了自动化处理版本信息、依赖关系解析、设置元数据等...

    基于python深度学习的电影评论情感分析系统源码数据库论文.docx

    Flask, a lightweight yet robust web application framework in Python, serves as the foundation for building the system, enabling efficient handling of user interfaces and interactions. Word2Vec, on ...

    SCON工具源码

    对于 C,C++ 和 Fortran, 内建支持可靠自动依赖分析 . 不用像 make 工具那样需要执行"make depends"和"make clean"就可以获得所有的依赖关系。 内建支持 C, C++, D, Java, Fortran, Yacc, Lex, Qt,SWIG 以及 Tex/...

    python安装numpy和pandas的方法步骤

    5. **更新依赖库**:如果遇到关于`python-dateutil`版本过低的提示,可以先下载`six`最新版本1.9.0,然后更新`python-dateutil`到2.5.3版本。 6. **解决运行时出现的错误**:如果在运行时出现类似`/usr/lib64/...

    pyltp wheel安装包(含py35,py36).zip

    1. `pyltp-0.2.1-cp35-cp35m-win_amd64.whl`:这是针对Python 3.5的版本,`cp35`代表Python的版本,`cp35m`表示它是针对Python 3.5的微版本,`win_amd64`则表示这是64位Windows系统的版本。 2. `pyltp-0.2.1-cp36-cp...

    PyPI 官网下载 | bcf_api_xml-0.1.6.tar.gz

    "bcf_api_xml-0.1.6.tar.gz"就是这样一个在PyPI上发布的资源,它是一个专门处理XML数据并与BCF(Building Construction Format)API交互的Python库。本文将深入探讨这个库的核心功能、安装方法以及如何在实际项目中...

    building-from-scratch:从头开始构建复杂的东西,因为为什么不是\ _(ツ)_¯

    项目主要使用Python编程语言,这是一种广泛应用于数据分析、机器学习和Web开发的高级语言,因其简洁明了的语法而受到欢迎。同时,项目中也包含了一些用C++实现的部分,C++是一种底层、性能强大的编程语言,常用于...

    Building Embeded Linux system

    - **编程语言支持**:除了C/C++之外,还介绍了其他一些常用编程语言在嵌入式领域的应用,比如Java、Perl、Python等,并提供了相关示例代码。 - **集成开发环境**:推荐了几款流行的IDE软件(如Eclipse、Visual ...

    ubuntu14.04安装opencv3.0.0的操作方法

    sudo apt-get install build-essential cmake libopencv-dev libgtk2.0-dev pkg-config python-dev python-numpy ``` - `build-essential`:提供编译所需的工具集。 - `cmake`:用于编译 OpenCV。 - `libopencv-dev...

    基于SSM+mysql的企业人事管理系统源码数据库论文.doc

    The tags "毕业设计" and "Java python" indicate that this might be a final project for a student, possibly exploring both Java (used in SSM) and Python, though Python isn't directly mentioned in the ...

    Berkeley DB参考资料

    #### 1. Berkeley DB —— Cursor - **1.1 Introduction** - **定义与作用**:在Berkeley DB中,游标(Cursor)是用于导航和操作数据库记录的一种机制。通过游标,用户可以按需检索、修改或删除记录。 - **应用...

    opencv_contrib 源码

    要将`opencv_contrib`中的功能编译进OpenCV,首先需要安装必要的依赖,如CMake、Git、Python、编译器(如GCC或Visual Studio),以及可能的额外库(如TBB,用于并行处理,已包含在`tbb.rar`文件中)。然后,按照...

    数独并行求解源码

    Intel公司提供的并行编程工具,如Threading Building Blocks (TBB) 或 OpenMP,可以方便地实现这种并行化。开发者可能会利用这些库来创建并行任务队列,将数独盘面的每个单元格或一组单元格作为独立的任务进行处理。...

    buds-lab.github.io:BUDS实验室网站

    在BUDS实验室中,Python可能是进行数据分析和研究的主要工具。 3. **数据科学**:数据科学是利用统计学、计算机科学和领域知识来提取有价值信息的过程。BUDS实验室可能涉及到数据收集、清洗、分析和可视化,为解决...

    concrete.zip

    1. **model_building.py**:这是一个Python脚本文件,用于构建和运行GPRMax的模型。它可能包含了设置仿真参数、读取或生成数据、调用GPRMax库以及解析结果等功能。通过PyCharm,我们可以直接在IDE中编辑、运行和调试...

    基于springboot+vue的早餐店点餐系统源码数据库论文.doc

    1. **需求分析**: 这部分会详细介绍用户的需求,如快速浏览菜单、在线下单、支付功能、订单跟踪等。 2. **系统架构设计**: 解释如何将Vue.js用于前端界面展示,SpringBoot处理后端逻辑,以及它们如何协同工作。 3....

    ECOA DDC程序

    1. **代码文件**:可能是用C、C++、Python或其他编程语言编写的DDC程序源码,用于实现具体的控制逻辑。 2. **配置文件**:定义了设备参数、设定点、报警阈值以及与其他BAS组件的通信协议。 3. **数据库**:存储历史...

    基于ssm+mysql的非遗视域下喀什旅游网源码数据库论文.doc

    1. **需求分析**:首先,我们需要对旅游市场和用户需求进行深入调研,了解游客在规划 trips 和获取信息时遇到的问题。这将指导我们设计出符合用户需求的功能模块。 2. **系统设计**:基于需求分析,我们将设计...

Global site tag (gtag.js) - Google Analytics