參考鏈接:https://blog.csdn.net/zichen_ziqi/article/details/79068656
前言:主要針對,windows系統,很多人使用anconda安裝的tensorflow不再base下,使用下面的配置,vs可以使用安裝了tensorflow的python環境。(困擾點,在網上沒找到相關解決方案,自己嘗試,覺得行得通,果然最後能行通)
1、新建一個文件夾,取名爲test_python(作爲工程目錄)
2、重點!通過anconda 安裝tensorflow,會將tensorflow 創建在一個虛擬的python環境,這裏將虛環境下include文件夾、libs文件夾都拷貝到test_python35文件夾中(通過anconda prompt 需要先激活虛python環境 這裏直接將該python環境加入到工程目錄)
3、在libs目錄中複製python35.dll並重命名爲python35_d.dll
3、打開VS2015,新建一個項目face,選好路徑爲test_python
4、新建一個main函數如下展示圖所示,接下來需要配置環境變量
#include "stdafx.h"
#include <stdlib.h>
#include <iostream>
#include "Python.h"
using namespace std;
void Hello()
{
Py_SetPythonHome(L"D:/ANACONDA/envs/tensorflow");
//初始化Python環境 很重要,必要
Py_Initialize();
PyRun_SimpleString("import sys");//很重要,之前model加載失敗
PyRun_SimpleString("sys.path.append('./')");
//導入模塊
PyObject* pModule = PyImport_ImportModule("classifier1");//不要加.py
if (!pModule)
{
cout << "Python get module failed." << endl;
return;
}
cout << "Python get module succeed." << endl;
PyObject * pFunc = NULL;
pFunc = PyObject_GetAttrString(pModule, "recognize_face");
PyEval_CallObject(pFunc, NULL);
Py_Finalize();
}
int main(int argc) {
Hello();
system("pause");
return 0;
}
(1)添加頭文件
(2)添加庫文件
(3)代碼中配置python3的環境變量
Py_SetPythonHome(L"D:/ANACONDA/envs/tensorflow");
5、生成解決方案,來生成的Debug目錄,在該目錄下添加python35.dll(帶有tensorflow的安裝環境)、調用的python原函數(classifier1.py與facenet.py,在classifier.py內使用了facenet.py中的函數),如下圖所示
再次執行,終於成了!!!!