c 呼叫python 複雜版

2021-07-25 11:19:39 字數 2169 閱讀 6370

系統新增了pythonhome變數

可能的報錯資訊:否則你可能會遇到以下報錯資訊py_initialize: unableto load the file system codec

新增方法:新建pythonhome變數,賦值為你的python根目錄,比如我的是c:\users\wangjiang\anaconda3,然後追加path變數%pythonhome%;%pythonhome%/scripts

c++應用位數和python位數一致。(比如我新建的c++win控制台應用程式為64位;我的anaconda也是64位的)

為c++程式新增include、lib

右擊專案屬性,進入配置屬性-->vc++目錄

(1)在包含目錄下追加你的pythoninclude目錄。我這裡是c:\users\wangjiang\anaconda3\include

(2)在庫目錄下追加你的pythonlibs目錄。我這裡是c:\users\wangjiang\anaconda3\libs新增依賴庫

進入配置屬性-->聯結器-->輸入-->附加依賴項。追加你的python*.lib庫。我這裡是c:\users\wangjiang\anaconda3\libs\python35.lib修改python.h檔案

做法:開啟include目錄下python.h檔案,在

#ifndef py_python_h

#define py_python_h

下面追加一行#define ms_no_coredll或者#define py_no_enable_shared

如果不進行此步驟:可能會出現以下報錯資訊cannot open file 'python35_d.lib'

然後你就可以愉快地寫**了。這裡展示一下簡單的示例

c++書寫以下**:

#include "stdafx.h"

#include "python.h"

int _tmain(int argc, _tchar* argv)

return0;}

在你的原始檔下建立乙個檔案叫mytest.py,檔案內容為:

import math

defmyabs

(x):

return math.fabs(x)

執行,然後會輸出

2
首先配置變數

開啟/etc/bashrc,新增pythonhome,ld_library_path

pythonhome=/home/nlp/anaconda3/bin

export ld_library_path=/home/nlp/anaconda3/lib

path=$path:pythonhome

用g++編譯源程式

g++ main.cpp -i /home/nlp/anaconda3/include/python3.5m -l /home/nlp/anaconda3/lib -lpython3.5m

ref

在vs2012中c++嵌入python

python程式設計->cannot open file 『python27_d.lib』

calling a python method from c/c++, and extracting its return value

Python中呼叫c語言(簡單版)

python中有時需要呼叫c程式中的函式。使用ctype庫可以很方便地呼叫c語言。現說明方法,以及注意事項。我們需要的c語言檔案為test.c,要從其中呼叫func x,y 函式。gcc fpic shared test.c o test.so 隨後,我們在python中匯入該test.so檔案,方...

python 賭博遊戲複雜版01

賭博遊戲規則 玩家搖兩顆骰子,如果第一次搖出了7點或11點,則玩家贏。如果搖出2點,3點或12點,那麼莊家贏。其他情況遊戲繼續,玩家再次搖骰子,如果搖出7點,莊家勝,如果搖出第一次搖出點點數,則玩家贏。否則遊戲繼續,玩家繼續搖骰子 玩家有一千元點賭注,全部輸光,則遊戲結束。from random i...

c 呼叫複雜的python3指令碼

平台 vs2017 python3.7.6 配置 python3.7.0配置 部分 標頭檔案 include main py initialize 創造python虛擬環境初始化if py isinitialized pyrun string import sys 必要步驟 pyrun string...