淺析Windows 嵌入python解釋器的過程
這次主要記錄在windows下嵌入 python 解釋器的過程,程序沒有多少,主要是頭文件與庫文件的提取。
程序平臺:windows10 64 bit、 Qt 5.5.1 MSVC 2013 32 bit 、 python 3.7.4 32 bit
在ubuntu和 windows 下使用 C/C++ 嵌入 Python 是有些不同的, ubuntu 下可以使用對應命令來獲取 python 配置信息, windows 下直接鏈接對應庫文件與頭文件即可。
通過對python解釋器的嵌入,我們可以自己做一個 python 編輯器,在內(nèi)部可以定義自己的包;在運行時候 python 腳本的編寫就相當于一個隨時可變而又無需編譯的動態(tài)庫了。當然,有點還有很多,這種 C/C++ 嵌入腳本語言的應用在游戲上也十分常用。好了,下面簡單說下嵌入的流程。
1. Python 安裝包下載
我是直接在官網(wǎng)上下載的,Downloads-->>Python3.7.4。
2. 提取庫文件與頭文件
安裝完的文件如下圖,其中 include 文件夾里面是頭文件, python37.dll 是我們所需要的動態(tài)鏈接庫,就像 linux 下的 .so 文件一樣。
3. 在Qt下嵌入 python
我使用的是Qt的控制臺程序,也就是 C++ 嵌入 python 。
① pro 文件中鏈接庫
Qt pro中文件如圖:
注意:雖然系統(tǒng)是64位的,但是 Qt 與 python 都是 32 位的
②在 C++ 程序中調(diào)用 python
在程序中調(diào)用python語句分以下幾個步驟
1> 包含頭文件
2> 初始化python解釋器
3> 使用C接口運行 python 語句
4> 調(diào)用完成后釋放資源。當然也可以再構造函數(shù)中初始化一次,在析構函數(shù)中再釋放資源。
4. 程序運行結果
最后再說些其他的:在嵌入python中有以下幾個問題要考慮:
① python 腳本的靜態(tài)語法檢查與運行中錯誤的輸出
② python 輸出信息重定向到宿主程序
③如何停止、暫停 ( 鉤子函數(shù) ) 正在運行的 python 腳本
④當運行 python 阻塞接口時,停止會怎樣?
⑤ python 腳本中有耗時操作,需要運行到線程或進程中
總結
以上所述是小編給大家介紹的Windows 嵌入python解釋器的過程,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!
- Windows下使Python2.x版本的解釋器與3.x共存的方法
- Python如何在windows環(huán)境安裝pip及rarfile
- windows python3安裝Jupyter Notebooks教程
- Windows下python3安裝tkinter的問題及解決方法
- windows中安裝Python3.8.0的實現(xiàn)方法
- windows上安裝python3教程以及環(huán)境變量配置詳解
- windows下python虛擬環(huán)境virtualenv安裝和使用詳解
- Python第三方庫face_recognition在windows上的安裝過程
- 如何在Windows中安裝多個python解釋器
相關文章
基于Python實現(xiàn)智能停車場車牌識別計費系統(tǒng)
這篇文章主要為大家介紹了如何利用Python實現(xiàn)一個智能停車場車牌識別計費系統(tǒng),文中的示例代碼講解詳細,感興趣的小伙伴可以動手嘗試一下2022-04-04Python高級數(shù)據(jù)分析之pandas和matplotlib繪圖
Matplotlib是一個強大的Python繪圖和數(shù)據(jù)可視化的工具包,下面這篇文章主要給大家介紹了關于Python高級數(shù)據(jù)分析之pandas和matplotlib繪圖的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下2022-05-05Python使用函數(shù)默認值實現(xiàn)函數(shù)靜態(tài)變量的方法
這篇文章主要介紹了Python使用函數(shù)默認值實現(xiàn)函數(shù)靜態(tài)變量的方法,是很實用的功能,需要的朋友可以參考下2014-08-08