星期五, 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

沒有留言:

Mr.Color飛機模型用Color 與 水性AQUEOUS HobbyColor 對照表

          最近跟兒子一起研究長谷川的飛機模型, 其中說明書中採用的模型漆色號以Mr.Color硝基漆為主, 水性漆AQUEOUS 為輔. 很多Mr.Color有的顏色, AQUEOUS 都沒有, 前100的色號大致上都有對應到, 但Mr.Color 300號以後的都是特...