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

HPy - 为 Python 扩展提供更优秀的 C API

在 PyPy、GraalPython(目前比较热火的 Python3 实现,性能提升极大,但对 C 扩展) 等 CPython 替代实现上,运行更快。...通用的二进制文件:为 HPy 通用 ABI 构建的扩展,可以在 CPython、PyPy、GraalPython 之上不用任何修改,直接加载运行。...更好的 API:标准的 Python/C API 具有其产生时代的特性限制,而 HPy 的设计可以克服一些限制。让扩展 API 更加一致,更易写易读,并且可使 bug 更易于暴露。...首先,我们用标准 Python/C 扩展方式实现 命名文件为 hello_old.c: #include Python.h> static PyObject* add(PyObject* self,...$ python >>> import hello_old >>> hello_old.add(10, 20) 30 然后,我们用 HPy 方式实现 命名文件为 hello_new.c: #include

60110
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    修改python的pip源为国内源

    由于网络原因,访问国外的pip源超级慢,因此可将源改为国内源(都是pipy官网的镜像),就能体验到流的飞起的速度了 可临时修改,也可永久修改 临时修改:在后边加个-i参数指定pip源,如下所示: pip...install package_name -i https://pypi.tuna.tsinghua.edu.cn/simple 永久修改:需要修改配置文件 Windows: 进入%APPDATA%...目录,例如我的是C:\Users\Raytine\AppData\Roaming 新建pip文件夹,如果有则跳过 进入pip文件夹,新建pip.ini文件,设置pip源,如下所示为清华大学的pip源:...Linux: cd ~ # 进入家目录 mkdir .pip # 新建.pip隐藏文件夹 cd .pip # 进入.pip...隐藏文件夹 touch pip.conf # 新建pip.conf文件 vim pip.conf # 用vim编辑pip.conf文件,内容与Windows下pip.ini文件的内容一样

    2K10

    Python扩展库安装工具pip的高级用法

    之前发过一篇使用pip安装扩展库和Python程序打包的基础文章,请参考Python安装扩展库与打包成exe可执行文件的方法 除了前文中介绍的用法,pip工具还有很多命令可以使用,本文再介绍几个: 1)...有些扩展库的新版本刚推出时可能不稳定,或者其他扩展库暂时还没有推出新版本而造成不兼容,pip的install命令默认是安装最新版本的扩展库,如果需要指定旧版本,可以用下面的用法。...pip install requests==2.12.4 同样,使用uninstall卸载扩展库时也可以使用类似的方法来指定扩展库版本。 2)同时安装多个扩展库。...例如: pip install requests==2.12.4 flask==0.12 3)配置两台机器上相同的扩展库环境。...第一步,在已配置好的机器上使用pip freeze > requirements.txt生成扩展库信息列表; 第二步,把生成的requirements.txt文件复制到目标机器上的python安装目录中

    1.1K40

    python安装与python、pip的环境变量配置

    安装 找到刚刚下载好的文件 运行 注意勾选上ANd Python 3.9 to PATH 不然要自己去创建环境变量。 如果忘记勾选了,看下面的为python建立环境变量。...to environment variables 也是将python加入环境变量的意思,如果没勾选,需要自己配置环境变量。...如果未出现,继续看下面的配置环境变量。...配置环境变量 右键 选择属性 选择高级系统设置 高级下面的环境变量 双击这一项 把你刚才的安装python的路径和pip的路径(pip.exe的位置,一般是python安装位置的Scripts...文件夹,如果不配置这个,后面用pip安装库的时候会报错)以英文分号隔开输入进去(如果前面有字符,也要用英文的分号隔开) 如 我的python安装路径是D:\python 那么我的pip路径是 D:\python

    76620

    Python调用C函数的方法以及如何编写Python的C扩展

    标题比较长,其实“如何用Python调用C的函数”以及“如何编写Python的C扩展”在广义上是同一件事,因为都是用C写底层实现,用Python作接口。...,转用以下方法: 按照Python C-API的编程规范,用C编写底层实现函数。...Py_BuildValue("i", result); } // mymath模块所包含的函数列表 static PyMethodDef mymathMethods[] = { // 每行一个方法,含义依次为...{NULL, NULL, 0, NULL} // 上面的最后一行相当于结束符};// 初始化模块的方法,自动调用 // 命名要求为init后加上模块名 void initmymath() {...调用效果 03 参考资料 [1] Python/C API Reference Manual, https://docs.python.org/2/c-api/ [2] 《Python基础教程》(第2版

    1.9K60

    【C#】使用IExtenderProvider为控件添加扩展属性,像ToolTip那样

    “扩展”出一个属性来(之所以用引号,是因为并不是真的为控件增加了一个属性,而是在VS中看起来像那么回事)。...【描述】这一扩展属性 /// [Description("为菜单项或控件提供描述扩展属性")] [ProvideProperty("Describe", typeof...那么到底是要给什么类扩展出什么属性呢,这是由ProvideProperty特性定义的,本类的目的是为【ToolStripItem】类扩展出一个叫【Describe】的属性,所以这样描述[ProvideProperty...同时可以看出ProvideProperty特性可以叠加使用,达到为不同控件添加不同扩展属性的目的,话说之所以不写成为Component扩展Describe属性,是因为MenuItem只有鼠标移进事件(Select... /// Author:AhDung /// Update:201412161356,初版 /// [Description("为菜单项或控件提供功能描述扩展属性

    1.7K20
    领券