跳至主要內容

Python

LincZero大约 2 分钟

Python

目录

编译Python源码

下载源码

在Python官网下载,选择下载源码(而不是安装版本)

Python各环境下的目录结构

Python源码 目录结构

下载后解压,项目结构如下

Python-3.7.13

文件夹
Doc
Grammar
Include
Lib
m4
Mac
Misc
Modules
Objects
Parser
PC
PCbuild
Programs
Python
Tools

文件
LICENSE
README.rst
setup.py
...

Python安装 目录路径

(如果是安装Anaconda集成环境的话,就是Anaconda的那个目录)

C:\python39

文件夹
Libs
	内置模块
	site-packages			# 下载的包会在这里
		openpyxl
		python-docx
		flask
		django				# pip安装该模块时生成。是该框架的源码
		...
Scripts
	pip.exe
	django-admin.exe		# pip安装该模块时生成。是辅助创建django项目的工具,会自动创建模板下的文件和文件夹
	...

文件
python.exe

Anaconda安装 目录结构

Python_Anaconda

文件夹
condabin
conda-meta
DLLs
envs
etc
include			# 包含路径
Lib
Library
libs			# lib库
	_tkinter.lib
	python3.lib
	python37.lib
man
Menu
pkgs
Scripts
	pip.exe
share
shell
sip
tcl
Tools

文件
_conda.exe		# 程序 Anaconda
cwp.py
LICENSE_PYTHON.txt
msvcp140.dll
msvcp140_1.dll
msvcp140_2.dll
python.exe		# 程序 python
python3.dll
python37.dll
python37.pdb
pythonw.exe
Uninstall-Anaconda3.exe
venvlauncher.exe	# 程序 虚拟环境启动器?
...

PyCharm项目 目录结构

项目名

venv					# (基本同Python安装目录)python虚拟环境
	Include				# (基本同Python安装目录)空
	Lib					# (基本同Python安装目录)
		site-packages	# (基本同Python安装目录)环境包
			flask等
			...
	Scripts				# (基本同Python安装目录)
		activate		# 进入该虚拟环境的脚本
		pip.exe等
		...
	pyvenv.cfg
main.py

Windows下编译

编译

参考:【CSDN】python 源码编译教程_如何编译和调试Python内核源码?open in new window

  • 双击PCbuild/pcbuild.sln,打开解决方案,切换到debug win32
  • 解决方案右键 > 属性 > 配置属性 > 配置 仅勾选项目python和pythoncore(这里仅编译python和pythoncore,其他模块暂时忽略)
  • 再“生成解决方案”,生成目录为PCbuild/win32
  • 将项目python设为启动项目(默认状态即是启动项目),点击调试,运行得到如下控制台,可以像平时使用python一样,与之交互。

编译后的目录

python.exe
python.pdb
python37.dll
python37.exp
python37.lib
python37.pdb
python37_d.dll
python37_d.exp
python37_d.ilk
python37_d.lib
python37_d.pdb
python3_d.dll
python3_d.exp
python3_d.ilk
python3_d.lib
python3_d.pdb
python3_dstub.exp
python3_dstub.lib
python_d.exe
python_d.ilk
python_d.pdb
vcruntime140.dll
_ctypes.exp
_ctypes.lib
_ctypes.pdb
_ctypes.pyd