1. 程式人生 > >python安裝第三方庫提示cc1plus: warning: command line option “-Wstrict-prototypes” is valid for C/ObjC ....

python安裝第三方庫提示cc1plus: warning: command line option “-Wstrict-prototypes” is valid for C/ObjC ....

py2安裝pyltp的時候一直卡著不動,使用-v引數檢視安裝過程,發現一直提示:cc1plus: warning: command line option “-Wstrict-prototypes” is valid for Ada/C/ObjC but not for C++。py3安裝pyltp的時候並不會提示這個錯誤。

用搜索引擎查看了一下這個錯誤,似乎是一個python的bug,這個引數可以去掉。然後我在stackoverflow上看到了別人安裝其他第三方庫的時候也遇到了這個問題,比較無害的一種解決方法是下載第三方庫的原始碼,然後在其中的setup.py中增加如下程式碼:

import os
from distutils.sysconfig import get_config_vars

(opt,) = get_config_vars('OPT')
os.environ['OPT'] = " ".join(
    flag for flag in opt.split() if flag != '-Wstrict-prototypes'
)

通過以上程式碼可以將報錯的引數“-Wstrict-prototypes”從編譯時的用到的環境變數中刪除。然後執行python setup.py install,雖然會提示一堆warning,但是不影響安裝。


StackOverflow原問題點此處