首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python为Windows生成SOABI/扩展后缀(pep 3149)

Python为Windows生成SOABI/扩展后缀(pep 3149)是一个关于Python在Windows操作系统上生成SOABI(Shared Object ABI)或扩展后缀的规范,该规范由PEP 3149定义。

SOABI是一个用于标识Python共享对象的ABI的字符串,它包含了Python解释器的版本号、编译器信息和平台信息。在Windows上,Python的扩展模块通常使用.pyd文件作为文件扩展名,而SOABI/扩展后缀则提供了更多关于模块的信息。

根据PEP 3149的规范,SOABI/扩展后缀的命名格式为:cp{major}{minor}{kind}{abi}.pyd,其中:

  • {major}和{minor}表示Python解释器的主版本号和次版本号,例如,对于Python 3.9,{major}为3,{minor}为9。
  • {kind}表示编译器的类型,常见的取值有:d(debug)、u(Unicode)、m(release)、d(debug)、n(no debug)等。
  • {abi}表示平台的ABI标识,例如,cp39表示Python 3.9的ABI。

这种命名格式的好处是可以方便地识别和区分不同版本和类型的Python扩展模块,同时也提供了更好的兼容性和可移植性。

在实际应用中,Python的SOABI/扩展后缀可以用于识别和加载适用于特定Python版本和平台的扩展模块。对于开发者来说,了解SOABI/扩展后缀的生成规范可以帮助他们正确地编译和发布Python扩展模块,以确保其在不同环境下的兼容性和可用性。

腾讯云提供了丰富的云计算产品和服务,其中包括适用于Python开发和部署的云服务器、云函数、容器服务等。您可以通过腾讯云官方网站(https://cloud.tencent.com/)了解更多关于腾讯云的产品和服务信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Python 相关文件常见的后缀名详解

图片 点击*号就会跳到对应的__init__.pyi文件,这个文件里按照PEP484规定,os模块每个函数都定义了对应的类型检查规则。...图片 关于pyi文件的定义规则以及自己如何生成,详见官方文档:PEP 484 – Type Hints pyw 一种 Python 源代码文件,一般只存在于 Windows 系统。...在Windows 系统上双击文件时,系统会根据文件扩展名来调用关联的exe程序来运行这个文件,打开 Python 安装目录,可以看到有python.exe和pythonw.exe两个exe,其中python.exe...调用,所以 Cython 一般用来编写 Python 的 C 扩展,上面说的 Python 文件编译生成 pyd 文件就是利用 Cython 来实现的 。...Cython 的源代码文件一般pyx后缀。 总结 后缀名 作用 py 最常见的 Python 源代码文件。 pyc 常见的 Python 字节码缓存文件,可以反编译成 py 文件。

3.4K20

python后缀是啥_python文件后缀

python文件后缀总结: (1).py: 以 py 扩展名的文件是 Python 源码文件,由 python.exe 解释,可在控制台下运行。可用文本编辑器读写。...(2).py3: Python3脚本(Python3脚本通常以.py而不是.py3结尾,很少使用)。 (3).pyc: 以 pyc 扩展名的是Python的编译文件。...pyc文件也可以通过 python -m py_compile src.py 生成。 .pyc二进制文件可以反编译成.py文件,反编译软件叫Easy Python Decompiler。...在Linux系统中一般.so文件 (6).pyi: MyPy存根,存根文件(PEP 484)。 (7).pyw: 用pythonw.exe执行的WindowsPython脚本。...(10).pywz: 用于MS-WindowsPython脚本归档(PEP 441)(这是一个包含标准Python脚本头之后的二进制形式的压缩 Python脚本(ZIP)的脚本)。

4.6K50

关于Python3.9,看这张16岁高中生做的「新特性必知图」就够了

金磊 发自 凹非寺 量子位 报道 | 公众号 QbitAI Python3.9,「千呼万唤始出来」。 先来速看下此次发布版本的重点。 新语法特性: PEP 584, dict 增加合并运算符。...PEP 585,标准多项集中的类型标注泛型。 PEP 614,放宽对装饰器的语法限制。 新内置特性: PEP 616,移除前缀和后缀的字符串方法。...解释器方面的改进: PEP 573,从 C 扩展类型的方法快速访问模块状态。 PEP 617,CPython 现在使用基于 PEG 的新解析器。...新增用于移除前缀和后缀的字符串方法 在Python的官方文档,以及Prasoon的图表中,也着重展示了新的用于「移除前缀和后缀的字符串」方法。...至于原因,在Python的官方文档中有相应的解释:后者曾经会在相对导入超出其最高层级包时发生。 ? 新增的模块 在新增模块方面,zoneinfo模块标准库引入了 IANA 时区数据库。

67720

关于Python3.9,这张「新特性必知图」就够了

本文转自AI新媒体量子位(公众号 ID: QbitAI) Python3.9,「千呼万唤始出来」。先来速看下此次发布版本的重点。 新语法特性: PEP 584, dict 增加合并运算符。...PEP 585,标准多项集中的类型标注泛型。 PEP 614,放宽对装饰器的语法限制。 新内置特性: PEP 616,移除前缀和后缀的字符串方法。...解释器方面的改进: PEP 573,从 C 扩展类型的方法快速访问模块状态。 PEP 617,CPython 现在使用基于 PEG 的新解析器。...新增用于移除前缀和后缀的字符串方法 在Python的官方文档,以及Prasoon的图表中,也着重展示了新的用于「移除前缀和后缀的字符串」方法。...至于原因,在Python的官方文档中有相应的解释:后者曾经会在相对导入超出其最高层级包时发生。 ? 新增的模块 在新增模块方面,zoneinfo模块标准库引入了 IANA 时区数据库。

1.1K20

Python3.8还没有捂热,Python3.9这么快就来了

Python3.9说来就来,接下来就一起解读下Python3.9的新特性吧! 1 Python3.9新特性 Python3.9新语法特性: PEP 584, dict 增加合并运算符。...PEP 585,标准多项集中的类型标注泛型。 PEP 614,放宽对装饰器的语法限制。 新内置特性: PEP 616,移除前缀和后缀的字符串方法。...解释器方面的改进: PEP 573,从 C 扩展类型的方法快速访问模块状态。 PEP 617,CPython 现在使用基于 PEG 的新解析器。...新增用于移除前缀和后缀的字符串方法 在Python的官方文档,以及Prasoon的图表中,也着重展示了新的用于「移除前缀和后缀的字符串」方法。...至于原因,在Python的官方文档中有相应的解释:后者曾经会在相对导入超出其最高层级包时发生。 ? 新增的模块 在新增模块方面,zoneinfo模块标准库引入了 IANA 时区数据库。

1.4K64

关于Python3.9,看这张16岁高中生做的「新特性必知图」就够了

金磊 发自 凹非寺 量子位 报道 | 公众号 QbitAI Python3.9,「千呼万唤始出来」。 先来速看下此次发布版本的重点。 新语法特性: PEP 584, dict 增加合并运算符。...PEP 585,标准多项集中的类型标注泛型。 PEP 614,放宽对装饰器的语法限制。 新内置特性: PEP 616,移除前缀和后缀的字符串方法。...解释器方面的改进: PEP 573,从 C 扩展类型的方法快速访问模块状态。 PEP 617,CPython 现在使用基于 PEG 的新解析器。...新增用于移除前缀和后缀的字符串方法 在Python的官方文档,以及Prasoon的图表中,也着重展示了新的用于「移除前缀和后缀的字符串」方法。...至于原因,在Python的官方文档中有相应的解释:后者曾经会在相对导入超出其最高层级包时发生。 ? 新增的模块 在新增模块方面,zoneinfo模块标准库引入了 IANA 时区数据库。

61451

如何制作whl文件「建议收藏」

wheel文件 Wheel和Egg都是python的打包格式,目的是支持不需要编译或制作的安装过程,实际上也是一种压缩文件,将.whl的后缀改为.zip即可可看到压缩包里面的内容。...Wheel现在被认为是Python的二进制包的标准格式。 以下是Wheel和Egg的主要的不同点: Wheel有一个官方的PEP427来定义,而Egg没有PEP定义。...distutils和setuptools工具 用来Python环境中构建和安装额外的模块,模块可以基于Python,也可以C/C++写的扩展模块,可以是python包,包中包含了C和Python编写的模块...上传时,可以建立一个账户验证文件~/.pypirc(Windows不可以,因为文件命名中含有非法字符),也可以在上传时输入账户和密码。...在如上第2步后,输入如下命令即可在生成.whl python setup.py bdist_wheel .whl文件在dist目录下,上传到PyPI: twine upload dist/* 更新Python

2.7K10

Python:whl安装包简介与制作

简介 Wheel和Egg都是python的打包格式,目的是支持不需要编译或制作的安装过程,实际上也是一种压缩文件,将.whl的后缀改为.zip即可可看到压缩包里面的内容。...按照官网说法,wheels是发行版Python的新标准并且要取代.egg。 Egg格式是由setuptools在2004年引入,而Wheel格式是由PEP427在2012年定义。...Wheel现在被认为是Python的二进制包的标准格式。 Wheel和Egg的不同: Wheel有一个官方的PEP427来定义,而Egg没有PEP定义。 Wheel是一种分发格式,即打包格式。...distutils和setuptools工具 用来Python环境中构建和安装额外的模块,模块可以基于Python,也可以C/C++写的扩展模块,可以是python包,包中包含了C和Python编写的模块...# 打包whl文件 python setup.py bdist_egg # 打包egg文件 运行python setup.py bdist_wheel 就会生成

39110

python3.7 的新特性

为了使这实现自动化:类创建实例,Python 3.7引入了一个新的模块dataclasses,如PEP 557中所述(https://www.python.org/dev/peps/pep-0557/...Python生成器异常处理 正如PEP 479中概述(https://www.python.org/dev/peps/pep-0479/),开发了一段时间的一处变更旨在让人们更容易调试Python生成器引发的...这异步操作提供了更详细的日志记录和异常处理,而异常操作可能很难调试或推理。 面向内存分配器的调试钩子。这对于编写CPython扩展件的那些人很有用。...新的时间函数使用后缀_ns。比如说,time.process_time()的纳秒版本是time.process_time_ns()。...如果谁定制CPython或编写使用解释器的内部API的CPython扩展件,就要明白这一点。 模块属性访问定制 你在Python程序中创建模块时,现在可以针对该模块的实例定制属性访问的行为。

1.9K30

Python3.9更新文档

python3.9更新 版本:3.9.1 日期:2021.1.1 作者:Lukasz Langa python3.9发布于2020.10.5,这里做与python3.8的比较 总结 新语法特性 PEP584...,dict支持并集运算符 PEP585,标准集合中的类型提示泛型 PEP614,放宽了对修饰语的语法限制 新的内建特性 PEP616,删除前缀和后缀的字符串方法 新的标准库特性 PEP593,增加了os.pidfd_open...允许没有竞争和信号的过程管理 编译器改进 PEP573,从C扩展类型的方法快速访问模块状态 PEP617,CPython使用基于PEG的新解析器, 一些python内建函数(range,tuple,set...vectorcall是PEP590的内容。垃圾回收不会阻塞新唤醒的对象。...发布进程修改 PEP602,CPython新版本发布改为一年一次。 增设新的栏目,及时更新新的英文手册。 包含python,numpy,pandas,tensorflow和pytorch的内容。

51630

Python 3.7.0 来了!

PEP 538:C语言环境强制 Python 3系列中的一个持续的挑战是确定一种合理的默认策略,用于处理目前在非Windows平台上使用默认C或POSIX语言环境的“7-bit ASCII”文本编码假设...自动设置LC_CTYPE意味着核心解释器和C扩展(例如readline)将假设使用UTF-8作为默认文本编码,而不是ASCII。...PEP 539:新增用于线程本地存储的C API 虽然Python线程本地存储支持提供了一个C API; 但现有的线程本地存储(TLS)API使用int来表示所有平台上的TLS密钥,但这既不符合POSIX...PEP 552:基于哈希的.pyc文件 PEP 552扩展了pyc格式,允许源文件的哈希值用于invalidation,而不是源timestamp。这种.pyc文件称为“hash-based”。...默认情况下,Python仍然使用基于时间戳的invalidation,并且不会在运行时生成基于哈希的.pyc文件。可以使用py_compile或compileall生成基于哈希的.pyc文件。

79000

Python 小技巧:如何实现操作系统兼容性打包?

有一个这样的问题:现要用 setuptools 把一个项目打包成 whl 文件,然后 pip install 在 Windows/Linux 两种操作系统上,但是该项目中有一些依赖库只有 Windows...但是这样会有麻烦:维护两份依赖文件和两种包文件,本身就挺费劲的,而在生成过程中,每次还得对它们改名以作区分(注意包名有一定的规范约束,乱改的话,pip 可能识别不出),维护成本就很高。...如果没有新的办法,这不失一种考虑,但是有没有别的办法了呢? 我曾被这个问题困扰过,但是没有深入去研究解决,直到无意中在loguru 这个用来记录日志的库的 setup.py 中看到: ?...它的依据是 2015 年 11 月创建的 PEP-508(以及相关的但已被撤销或拒绝了的 PEP-390、PEP-426、PEP-459、PEP-496),该 PEP 的主要意图是增强 pip 等工具查找软件包的能力...有了这样的扩展支持,在打包依赖项时,就可以解决兼容性问题了。

1.7K20

Python 中 -m 的典型用法、原理解析与发展演变

与此类似,我们只需要一行命令“python -m pydoc -p xxx”,就能生成 HTML 格式的官方帮助文档,可以在浏览器中访问。 ?...对于“python -m name”,一句话解释:Python 会检索sys.path ,查找名字“name”的模块或者包(含命名空间包),并将其内容当成“__main__”模块来执行。...1、对于普通模块 以“.py”后缀的文件就是一个模块,在“-m”之后使用时,只需要使用模块名,不需要写出后缀,但前提是该模块名是有效的,且不能是用 C 语言写成的模块。...以前文的“python -m http.server 8000”例,我们也可以找到“server”模块的绝对路径,然后执行,尽管这样会变得很麻烦。 ?...2009 年,在 Python 3.1 版本中,只需给定包的名称,就能定位和运行它的“__main__”子模块。2014 年,-m 扩展到支持命名空间包。

83940

xmake v2.6.3 发布,支持 vcpkg 清单模式

我们能够使用它像 Make/Ninja 那样可以直接编译项目,也可以像 CMake/Meson 那样生成工程文件,另外它还有内置的包管理系统来帮助用户解决 C/C++ 依赖库的集成使用问题。...find_package(foo), 参考 CMake `find_package` 文档了解更多详情 如果包不提供 cmake 模块,foo_INCLUDE_DIR 和 foo_LINK_DIR 变量将设置包包含和库路径...模块构建支持 我们可以用这个规则,配合 pybind11 生成 python 库模块,它会调整 python 库的模块名。...", {soabi = true}) add_files("src/*.cpp") add_packages("pybind11") set_languages("c++11")...更新内容 新特性 #1298: 支持 vcpkg 清单模式安装包,实现安装包的版本选择 #1896: 添加 python.library 规则去构建 pybind 模块,并且支持 soabi #1939

1.4K30

PyCharm 2016.3 公开预览版发布

更新内容如下: 一、Python 3.6 PyCharm 2016.3将针对最新的Python 3.6提供以下支持: 1.PEP 526:变量注释语法:PyCharm现在能识别新的语法,并使用关于类型推断的类型元信息...2.PEP 498:格式化字符串文字:对f字符串的基本支持识别其语法,并在其中大括号括起来的替换字段提供代码完成。...3.PEP 515:数字文字中的下划线:此PEP扩展Python的语法和数字从字符串构造函数,以便下划线可以在整数,浮点和复数数字文字中用作数字分组目的的可视分隔符。...4.PEP 525和PEP 530:这2个标准引入异步生成器和理解。 PyCharm它们提供代码检查,并将它们用于类型推断。 对新PEP的其他支持现在包括在函数类型注释内注释的代码注入。...在Docker Compose集成方面,做了几个整洁化的改进: 1.现在,当项目定义一个基于Docker Compose的python解释器来扩展整个Compose文件时,可以指定多个Compose文件

5.3K40

python,NFV项目开发--vim

vim是python开发最常用的编辑工具之一,本文不是介绍vim的,而是结合python进行实际项目开发,说一说vim在python开发中的心得。...再比如目录树和标签,这些都是windows的文件系统和操作特点决定需要的。而python开发不会在windows下进行。 5) 作为文本编辑的纯粹,减少一切于此无关的干扰,专注于编辑。...vim的强大不仅仅在于好用,编辑速度快,还在于可扩展,甚至是无限扩展,也就是无限可能。 下面聊一聊vim在python开发中的必备配置和插件以及心得。...PEP8格式化输出 autopep8 -i --aggressive file(s) 可以将自己编写的python文件格式化输出成符合PEP8的python文件 不推荐,理由有2个,一个是格式化输出个人使用下来虽然能消除很多不符合...多次迭代,PEP8检查的耗时越来越少,且养成了良好的python编程习惯。 VIM显示tab键和不需要的多余空格 文件中有 TAB 键的时候,你是看不见的。要把它显示出来。

91331

day01-初识Python

Python的版本很多,新版本会有很多兼容问题,我们推荐安装3.8版本 官网下载地址:Python Release Python 3.8 至于具体的安装步骤可以参考:Windows安装Python(图解...6、Python交互式命令行 环境变量配置好了,现在我们可以运行Python程序了 Windows+R键 打开命令行 然后在命令行输入python,进入交互式命令行 在>>>符号后,我们可以直接写Python...python 注意:我们运行源代码文件时,是在命令行或者终端运行,而不是在Python的交互式命令行 1.Python 源文件的后缀.py 2.我们如果使用写字板、Word、...Python 采用 PEP 8 作为编码规范,具体规范官网解释:PEP8官方规范 也可参考这篇:PEP8 Python代码规范 - 掘金 day01练习 1.解释一下Python解释器的作用和功能 2....用命令查看你正在使用的python版本(Windows和Mac) 3.打开Python交互式命令行,操作5和3以下: 加法(+) 减法(-) 乘法(*) 求余(%) 除法(/) 次方(**) 求商(//

17520
领券