python3.x - c++調(diào)用python3
問(wèn)題描述
環(huán)境:win10 + vs2015( Debug 32位) + anaconda3(32位)
首先需要配置環(huán)境,創(chuàng)建win32控制臺(tái)程序,然后對(duì)工程進(jìn)行配置。 項(xiàng)目–>屬性–>vc++目錄–>包含目錄 添加python安裝目錄中include目錄 項(xiàng)目–>屬性–>vc++目錄–>庫(kù)目錄 添加python安裝目錄中l(wèi)ibs目錄 鏈接器–>輸入–>附加依賴項(xiàng) 添加python36.lib
到這步運(yùn)行程序:
#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;}
報(bào)錯(cuò)找不到 python36_d.lib。
百度解決方案:如果 C++ 工程采用debug版本,需要將 python 安裝目錄里 libs 文件夾下的 python36.lib 文件復(fù)制,并將名字改成 python36_d.lib
運(yùn)行崩潰:
求助如何解決。
------------------------------補(bǔ)充下---------------------
我的機(jī)器裝了anaconda2和anaconda3,都是32位的,目前只用python3的,安裝目錄分別為:E:SoftwaresAnaconda3E:SoftwaresAnaconda2
問(wèn)題解答
回答1:還是用py2吧,py2可以用,py3的上述問(wèn)問(wèn)題我還是沒(méi)有解決
回答2:這個(gè)報(bào)錯(cuò)寫得還算比較清楚的,加載 encodings 模塊失敗,這個(gè)要看是在什么地方 import 的。 然后檢查
是否有這個(gè)模塊
如果有這個(gè)模塊,這個(gè)模塊的地址是否在環(huán)境變量里面
相關(guān)文章:
1. php - 有關(guān)sql語(yǔ)句反向LIKE的處理2. fetch_field_direct()報(bào)錯(cuò)3. 在視圖里面寫php原生標(biāo)簽不是要迫不得已的情況才寫嗎4. 獲取上次登錄ip的原理是啥?5. 求救一下,用新版的phpstudy,數(shù)據(jù)庫(kù)過(guò)段時(shí)間會(huì)消失是什么情況?6. phpstudy v8打開(kāi)數(shù)據(jù)庫(kù)就出錯(cuò),而phpstudy 2018不會(huì)7. 為什么說(shuō)非對(duì)象調(diào)用成員函數(shù)fetch()8. 為什么點(diǎn)擊登陸沒(méi)反應(yīng)9. 請(qǐng)問(wèn)下tp6框架的緩存在哪里設(shè)置,或者說(shuō)關(guān)閉?10. mysql報(bào)錯(cuò) unknown column ’a.plat’ in ON clause
