首頁  >  問答  >  主體

python3.x - c++呼叫python3

環境:win10 + vs2015( Debug 32位元) + anaconda3(32位元)

#首先需要配置環境,建立win32控制台程序,然後對工程進行配置。
專案–>屬性–>vc++目錄–>包含目錄新增python安裝目錄中include目錄
專案–>屬性–>vc++目錄–>庫目錄新增python安裝目錄中libs目錄
連結器–>輸入–>附加相依性新增python36.lib

到這步運行程式:

#include <iostream> 
#include <stdio.h>
#include <stdlib.h>
#include <Python.h>
#include <string.h>

using namespace std;

int main()
{

    Py_Initialize();
    PyRun_SimpleString("import pylab");
    PyRun_SimpleString("pylab.plot(range(5))");
    PyRun_SimpleString("pylab.show()");
    Py_Exit(0);

    return 0;
}

報錯找不到 python36_d.lib。

百度解決方案:如果 C++ 工程採用debug版本,需要將 python 安裝目錄裡 libs 資料夾下的 python36.lib 檔案複製,並將名字改成 python36_d.lib

運行崩潰:

#求助如何解決。

------------------------------補充下--------------- ------

我的機器裝了anaconda2和anaconda3,都是32位元的,目前只用python3的,安裝目錄分別是:
E:\Softwares\Anaconda3
E:\Softwares\Anaconda2

天蓬老师天蓬老师2735 天前921

全部回覆(2)我來回復

  • 高洛峰

    高洛峰2017-05-16 13:29:09

    還是用py2吧,py2可以用,py3的上述問問題我還是沒有解決

    回覆
    0
  • 怪我咯

    怪我咯2017-05-16 13:29:09

    這個報錯寫得還算比較清楚的,載入 encodings 模組失敗,這個要看是在什麼地方 import 的。
    然後檢查

    1. 是否有這個模組

    2. 如果有這個模組,這個模組的位址是否在環境變數裡面

    回覆
    0
  • 取消回覆