0x01 為毛用python.h?
python.h是基於python-devel的開發包,比如你要用到c呼叫python去執行一些任務,這個時候python.h就是你的好幫手。在我所理解一般用它都有兩個場景:
1. 借助語言優勢解決問題;
2. 簡化開發難度,偷懶;
在我這,我用它的主要目的在於加入掃瞄框架的依賴,畢竟lua的學習成本挺高的,如果正好這個安全人員不懂lua,只懂python咋整?能不成讓他學習lua麼?成本是乙個方面,更多的是怎麼快起來。乙個團隊,在快節奏下才能成長起來。
0x02 坑坑窪窪的過程
1.1 python.h錯誤異常
[root@cloud ~]# gcc b.c -i/usr/include/python2.7 -o ***
b.c:11:27: 錯誤:python/python.h:沒有那個檔案或目錄
b.c: 在函式『great_function_from_python』中:
b.c:43: 錯誤:『pyobject』未宣告(在此函式內第一次使用)
b.c:43: 錯誤:(即使在乙個函式內多次出現,每個未宣告的識別符號在其
b.c:43: 錯誤:所在的函式內也只報告一次。)
b.c:43: 錯誤:『pmodule』未宣告(在此函式內第一次使用)
b.c:43: 錯誤:『pfunc』未宣告(在此函式內第一次使用)
b.c:44: 錯誤:『pargs』未宣告(在此函式內第一次使用)
b.c:44: 錯誤:『pvalue』未宣告(在此函式內第一次使用)
預設的情況下,python.h應該在這個位置,但是測試的結果說找不到。內心是崩潰的,我在mac下是正常的。
1.2 版本問題
用find命令找當前系統中的python.h的版本,發現只有2.6的,但是我按照了python2.7,這個版本完全錯亂了。
[root@cloud ~]# find / -name python.h 2>/dev/null
/usr/include/python2.6/python.h
wget
tar xjf python-2.7.6.tar.xz
cd python-2.7.6
./configure --enable-shared --prefix=/usr/local/python2.7
make
make install
echo /usr/local/python2.7/lib > /etc/ld.so.conf.d/python2.7.conf
ldconfig
restorecon -rf /
0x03 解決方案
首先,你需要先把所有的python環境解除安裝,然後安裝同步的環境,比如python2.7.12,devel也是python2.7.12,還有就是libs也必須是,不然弄不了,另外,編譯安裝預設不靠譜,最好就是rpm的方式來。包我留下,有需要的玩。
這是我的解決方案,當前完美解決我的問題,另外,推薦大家按照這個方式來搞,特別在centos環境下,這個比較坑爹。
關於LayoutSubviews何時被呼叫
for this purpose,i will define a few view relationships i then ran the following tests.an x means the view was layed out from this i surmise the follo...
關於網路效能調優
這兩天閱讀 wireshark網路分析就這麼簡單 一書,作者在 patrick故事 一節中提到乙個問題分析的細節,於是決定記下 有一台檔案伺服器的讀效能只有10mb s,遠低於客戶的期望。我嘗試過很多調優方式,效能卻只降不公升。徒勞三天之後,我對自己徹底失去了信心。這時候我又想起了patrick,於...
機器學習 關於調參
關於引數 feature scaling 機器學習中對於引數的理解不是數學中的數字,而是代表的是一種邏輯的趨勢的數字,這種邏輯是人類對場景的邏輯,也可以看作是人思想上對場景與數字引數的經驗,所以機器學習中的運算,不是數字的運算,而是邏輯的運算,如何設計出符合人類邏輯規律的運算,才能更好的 趨勢,這種...