星期五, 10月 07, 2022

Visual Studio中引入Python環境

前言

    python是很方便的語言, 型態鬆散, 語法自由, 直譯式語言, 用來測試一些概念想法非常方便, 不用頻繁的在編譯、執行、debug的無限循環中浪費時間。

    因為工作上的需求, 需要用opencv做影像處理。 雖然c++下也有opencv可使用, 但是c++的資料結構上比較囉嗦, 所以我是在python環境下呼叫opencv進行try&error。待python下完成任務後, 從c++呼叫python, 將結果回傳。

Visual Studo 2022

    我是在Visual Studio 2022呼叫Anaconda下的Python, 假設Anaconda是安裝在
        C:\Users\asus\anaconda3 這個目錄下。

    Visual Studo 2022裡需要設定的有

  1. 組態屬性>VC++目錄>包含目錄(Include Directory),
    增加 C:\Users\asus\anaconda3\include
  2. 組態屬性>VC++目錄>程式庫目錄(Lib Directory),
    增加C:\Users\asus\anaconda3\libs
    此時執行測試用的最簡單範例:
#include "Python.h"

int main()
{
Py_Initialize();    //## 初始化

PyRun_SimpleString("print ('hello')");

Py_Finalize();      //## 釋放資源
}

    應該會得到如下結果



    只要在 控制台>系統>進階系統設定>環境變數, 新增一個變數(在使用者變數或系統變數皆可):
PYTHONHOME = C:\Users\asus\anaconda3\ 即可(或指向你的python安裝目錄)

    再一次執行測試範例:

    完工!

參考文件

  1. 淺析 C++ 呼叫 Python 模組
  2. 在其它 App 內嵌入 Python

沒有留言:

iPhone 14 Pro vs Olympus EM10 MkII 中篇

時間來到2022年, 我的S20+因為綠線事件, 立馬被我淘汰了, 同時我也正計畫購入Mini Countryman, 很殘念的是該車系統只支援CarPlay而不支援Android AUTO, 所以我也開始考慮要不要從Android換到Apple陣營. 好, 上面都是題外話, 反...