Cython提升python运行速度
本文最后更新于1021 天前,其中的信息可能已经过时,如有错误请发送邮件到2192492965@qq.com

Cython提升python运行速度

1.安装

pip

pip install cython

ancoda

conda isntall cython

2. 创建测试文件

用tkinter随便创建了一个窗口,将其后缀改为.pyx

login.pyx

import tkinter as tk

class LoginWindow:
    def __init__(self, root):
        self.root = root
        self.root.geometry("250x150")
        self.root.title("登录界面")

        # 创建用户名标签和输入框
        self.username_label = tk.Label(self.root, text="用户名:")
        self.username_label.grid(row=0, column=0)
        self.username_entry = tk.Entry(self.root)
        self.username_entry.grid(row=0, column=1)

        # 创建密码标签和输入框
        self.password_label = tk.Label(self.root, text="密码:")
        self.password_label.grid(row=1, column=0)
        self.password_entry = tk.Entry(self.root, show="*")
        self.password_entry.grid(row=1, column=1)

        # 创建登录按钮
        self.login_button = tk.Button(self.root, text="登录", command=self.login)
        self.login_button.grid(row=2, column=0, columnspan=2, pady=10)

    def login(self):
        # 获取用户名和密码
        username = self.username_entry.get()
        password = self.password_entry.get()

        # 模拟登录验证
        if username == "admin" and password == "123456":
            print("登录成功!")
        else:
            print("用户名或密码错误!")

if __name__ == "__main__":
    root = tk.Tk()
    login_window = LoginWindow(root)
    root.mainloop()

3. 创建setup文件

将其保存在同目录下

setup.py

from setuptools import setup
from Cython.Build import cythonize

setup(
    ext_modules=cythonize('login.pyx',language_level=3)# language_level=3 代表只适配python3版本,默认都适配
)

4. 将python文件编译为c语言

python setup.py build --inplace

可选参数:

--include-dir:指定编译时包含的C/C++头文件或其他.py或.pyx文件

--output-file:指定解析后的C/C++源代码文件的所在路径

--inplace: 表示放在源文件旁边

--working:指定cython解析器的工作目录

-2或-3:-2告知cython解析器以python2的方式理解python源代码,-3告知cython解析器以python3的方式去理解python源代码

5. 引用编译后生成的.pyd文件

import login
import tkinter as tk

root = tk.Tk()
login.LoginWindow(root)
root.mainloop()
如果觉得本文对您有所帮助,可以支持下博主,一分也是缘?
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇
隐藏
换装