為什麼python缺少一個msbuild,從2008年到2014年一直不加上?
Issue 2698: Extension module build fails for MinGW: missing vcvarsall.bat
例如上面這個BugExtension module build fails for MinGW: missing vcvarsall.bat
這個我遇到過,最後是通過下載編譯好的包來解決的。這就是一個環境問題,就像 Java 新手安裝了 Java 以後,在 cmd.exe 裡面敲 javac ,說沒有這個命令一樣,而且不是 Python 本身的問題,算是某些雜項問題。
簡單來說就是,你安裝的 Python 包裡面有 C 代碼,Python 的安裝程序要編譯,但是總不能自帶編譯器吧?然後就是麻煩事了。就是這樣,並非是 Python 自身的問題,Python 開發者要解決很簡單,Python Windows 自帶一個 C 編譯器,你說要不要?
本來就是 Python 自己提供了個方便的功能,構建的時候自動編譯 C 代碼,然後在 Windows 水土不服難以調用編譯器而已,你覺得很好解決?隨便找一個三姑大媽的 Windows 電腦給我找出一個 C 編譯器出來。
說到底這種功能一開始就不是為 Windows 定製的,而是為幾乎每台電腦都裝著 gcc 的 UNIX 準備的,是編譯安裝誒,編譯安裝,Windows 下面搞編譯安裝這不是吔屎嗎?老老實實下載二進位包吧。
這種問題是最難修復的,給錢就能解決嗎?人多就能解決嗎?要我說,直接在 Windows 禁用這個特性都沒關係
……雖然題主態度不怎麼樣,但只有一個匿名用戶對這個問題本身做了解答。不過……
連問題是怎麼回事都沒搞清楚,關 Py3 毛線事情,關開源毛線事情。愛用用不用滾。看了下問題日誌,題主是什麼東西我就不說髒話了哈。謝邀。樓主你要是覺得Python的技術團隊技術實力不夠,並且你認為這個vcvarsall.bat問題很好解決的話,請你把你的解決問題的思路發到這個Issue上:Issue 2698: Extension module build fails for MinGW: missing vcvarsall.bat
StackOverflow有大量類似的問題的答案:- Building lxml for Python 2.7 on Windows
- How do I point easy_install to vcvarsall.bat?
- error: Unable to find vcvarsall.bat
-----
請想要解決問題的同學忽略以下吐槽,看上面的StackOverflow就好了。
樓主又加了問題描述。本來加的一句根本就不想回答,但後面又加了句「免費軟體360,騰訊QQ,那個有這麼多Bug」,我就忍不住過來編輯一下。你連免費和開源都分不清楚就來嘲諷Python團隊?Python裡面那麼多POSIX特性,在Windows下用本來就很水土不服,那個Issue提到的問題這麼久了都沒有人有興趣去解決,就可以看到到底有多少Python程序員是在Windows下用的。
本來想好好說話的,樓主你卻非要向我們展現你的無知。vcvarsall.bat是VS自帶的一個配置腳本,而出現這個問題不是開發團隊不想解決,是根本解決不了,在Windows下的編譯環境和*NIX下根本不一樣,pip和easy_install的執行方式更適合在*NIX的環境下執行。要解決問題也很簡單啊,就是要你自己配一下VS90COMNTOOLS這個環境變數。開源軟體不屬於任何提供商,它屬於你自己。把源代碼給你,這軟體就是你的了,要麼你自己學習編程解決問題,要麼你出錢請人解決問題。
發行方除了有義務給你提供源代碼以外沒有其他義務,包括解決你遇到的問題。——當然,發行方還有一個義務是「不得剝奪被發行方的發行權」,換句話說,發行方有義務讓你成為發行者。當你獲得該軟體時,你自己就成了發行者。所以你只能找你自己解決問題。
至於有團隊開發3.x是因為他們樂意,沒解決那個問題是因為沒人有興趣解決那個問題。其實你也可以創建一個團隊來開發2.8,或者自己招人解決那個問題。
如果你自己不會編程,要想解決你說的那個問題也不難:你出錢,就可以了。開源軟體有底氣,有道理說「you can you up, no can no bb"。
因為開源軟體的貢獻者們是因為好玩,因為興趣才git到一起的,他們沒有對你提供技術支持的義務。他們將付出了自己的心血的程序免費提供給我們用,還公開了源代碼,我們是無話可說的。如果你覺得不好用,可以用有商業支持的軟體或者花錢尋求技術支持嘛。遇到問題很鬱悶可以平心靜氣地提,謙卑地請教懂的、可能幫你解決的大牛。但是以批評、責備的口吻來說話,就不好了。推薦閱讀:
※Python 中如何刪除一個列表 List 中多個符合條件的元素?
※被代碼佔領的世界會是什麼樣?
※怎樣用 Matlab 寫出優雅的代碼?
※opencv庫的python版為啥比c++版小這麼多?是功能有區別嗎?
※如何用 Python 中的 NLTK 對中文進行分析和處理?