2024-03-28 11:54:27 发布
网友
因此,在我们的工作中,我们正在重新编译python2.7.3。但我遇到了一些问题。有些项目无法编译。好吧,医生是这么说的。你知道吗
但是VS2008中的项目文件列表非常混乱。很多项目都以下划线“\ux”开头。其他人没有。我认为以下划线开头的项目是非核心项目?也许它们是依赖于主pythondll的库项目?你知道吗
另一个简短的问题。某些项目生成失败,错误消息为$(HOST\u PYTHON)未定义。那是什么?你知道吗
PCbuild目录中的readme.txt解释了每个项目的用途(尽管它可能不完整)。这一点,再加上一些关于Python的基本知识,应该可以为您提供足够的信息来找出您想要的区别。你知道吗
至于下划线:所有模块(可能除了一些特殊情况,其中没有任何实际的C代码)都依赖于DLL。“规则”是,构建模块的项目以它们构建的模块命名;用户可见的模块不以下划线开头,由用户可见的Python模块包装的模块以下划线开头……但一些最老的模块并不完全遵循该规则,PCbuild本身也有一些例外,例如。,sqlite3.vcproj构建_sqlite3模块,而不是sqlite3。所以,除了作为经验法则,你不能依赖它。不管怎样,这对你的目的来说并不是一个重要的区别。你知道吗
sqlite3.vcproj
_sqlite3
sqlite3
无论如何,“核心”是什么取决于你的意思,但你肯定至少需要:
pythoncore
python
pythonw
mkbuildinfo
mkversioninfo
如果您对某个模块有特定的问题,并且无法从readme.txt或主源文件顶部的注释中找到它,您可以问。但简而言之,其他项目应包括:
readme.txt
pylauncher
pyexpat
unicodedata
kill_python
Some projects failed to build with an error message that $(HOST_PYTHON) is not defined. What is that?
有些项目,如ssl和Tkinter模块,有一个部分用Python编写的构建过程。如果遵循标准的构建过程,python.exe在你到达那里的时候就可以使用了。但是您也可以通过将HOST_PYTHON设置为预先构建的Python来“引导”东西。你知道吗
ssl
Tkinter
HOST_PYTHON
PCbuild目录中的readme.txt解释了每个项目的用途(尽管它可能不完整)。这一点,再加上一些关于Python的基本知识,应该可以为您提供足够的信息来找出您想要的区别。你知道吗
至于下划线:所有模块(可能除了一些特殊情况,其中没有任何实际的C代码)都依赖于DLL。“规则”是,构建模块的项目以它们构建的模块命名;用户可见的模块不以下划线开头,由用户可见的Python模块包装的模块以下划线开头……但一些最老的模块并不完全遵循该规则,PCbuild本身也有一些例外,例如。,
sqlite3.vcproj
构建_sqlite3
模块,而不是sqlite3
。所以,除了作为经验法则,你不能依赖它。不管怎样,这对你的目的来说并不是一个重要的区别。你知道吗无论如何,“核心”是什么取决于你的意思,但你肯定至少需要:
pythoncore
:其他所有东西都使用的主DLL。你知道吗python
或pythonw
:两个顶级可执行文件;您需要一个或另一个(除非您计划嵌入Python而不是只运行解释器)。 *mkbuildinfo
和mkversioninfo
:用于将构建信息烘焙到其他项目中的工具(我相信包括python
/pythonw
)。你知道吗如果您对某个模块有特定的问题,并且无法从
readme.txt
或主源文件顶部的注释中找到它,您可以问。但简而言之,其他项目应包括:pylauncher
:构建一个启动程序,用于使Python的两个版本更容易使用,并基于Unix风格的shbang行在两个版本之间进行切换。你知道吗pyexpat
,用于构建至少一个其他模块,加上unicodedata
,其中可能没有任何C代码,但仍需构建)。你知道吗kill_python
辅助工具。你知道吗有些项目,如
ssl
和Tkinter
模块,有一个部分用Python编写的构建过程。如果遵循标准的构建过程,python.exe在你到达那里的时候就可以使用了。但是您也可以通过将HOST_PYTHON
设置为预先构建的Python来“引导”东西。你知道吗相关问题 更多 >
编程相关推荐