Python源代码:哪些Python项目是核心,哪些是库?

2024-03-28 11:54:27 发布

您现在位置:Python中文网/ 问答频道 /正文

因此,在我们的工作中,我们正在重新编译python2.7.3。但我遇到了一些问题。有些项目无法编译。好吧,医生是这么说的。你知道吗

但是VS2008中的项目文件列表非常混乱。很多项目都以下划线“\ux”开头。其他人没有。我认为以下划线开头的项目是非核心项目?也许它们是依赖于主pythondll的库项目?你知道吗

另一个简短的问题。某些项目生成失败,错误消息为$(HOST\u PYTHON)未定义。那是什么?你知道吗


Tags: 文件项目host消息列表错误医生未定义
1条回答
网友
1楼 · 发布于 2024-03-28 11:54:27

PCbuild目录中的readme.txt解释了每个项目的用途(尽管它可能不完整)。这一点,再加上一些关于Python的基本知识,应该可以为您提供足够的信息来找出您想要的区别。你知道吗

至于下划线:所有模块(可能除了一些特殊情况,其中没有任何实际的C代码)都依赖于DLL。“规则”是,构建模块的项目以它们构建的模块命名;用户可见的模块不以下划线开头,由用户可见的Python模块包装的模块以下划线开头……但一些最老的模块并不完全遵循该规则,PCbuild本身也有一些例外,例如。,sqlite3.vcproj构建_sqlite3模块,而不是sqlite3。所以,除了作为经验法则,你不能依赖它。不管怎样,这对你的目的来说并不是一个重要的区别。你知道吗

无论如何,“核心”是什么取决于你的意思,但你肯定至少需要:

  • pythoncore:其他所有东西都使用的主DLL。你知道吗
  • pythonpythonw:两个顶级可执行文件;您需要一个或另一个(除非您计划嵌入Python而不是只运行解释器)。 *mkbuildinfomkversioninfo:用于将构建信息烘焙到其他项目中的工具(我相信包括python/pythonw)。你知道吗

如果您对某个模块有特定的问题,并且无法从readme.txt或主源文件顶部的注释中找到它,您可以问。但简而言之,其他项目应包括:

  • pylauncher:构建一个启动程序,用于使Python的两个版本更容易使用,并基于Unix风格的shbang行在两个版本之间进行切换。你知道吗
  • 用C语言实现的各种模块(加上pyexpat,用于构建至少一个其他模块,加上unicodedata,其中可能没有任何C代码,但仍需构建)。你知道吗
  • 各种测试工具。你知道吗
  • kill_python辅助工具。你知道吗

Some projects failed to build with an error message that $(HOST_PYTHON) is not defined. What is that?

有些项目,如sslTkinter模块,有一个部分用Python编写的构建过程。如果遵循标准的构建过程,python.exe在你到达那里的时候就可以使用了。但是您也可以通过将HOST_PYTHON设置为预先构建的Python来“引导”东西。你知道吗

相关问题 更多 >