2013-01-14 72 views
3

有很多關於python的東西,我只是不明白,所以請原諒我,如果這是一個非常基本的問題。如果Python被解釋,爲什麼你需要一個編譯器setup.py

我在Windows上運行的Python 2.7,並使用setuptools的setup.py安裝包時,我經常跑在以下錯誤:error: Unable to find vcvarsall.bat這是一個問題,討論的所有的地方,這裏包括:Python issue:Unable to find vcvarsall.bat這裏:http://blog.eddsn.com/2010/05/unable-to-find-vcvarsall-bat/

我的問題是,如果python是一種解釋型語言,爲什麼你甚至需要一個編譯器來安裝一個包?

回答

14

Python被解釋,但許多庫使用編譯的C擴展。當自動安裝程序無法編譯給定程序包的C擴展時,會發生錯誤。

+1

C擴展通常用於性能方面的原因。如果你自己知道C,有時候值得爲性能密集型代碼編寫自定義擴展,尤其是在內部循環內部找到的代碼。如果你想主要使用Python,但獲得C的一些好處,看看Cython。 – TimothyAWiseman

+0

因此,並非所有的軟件包都需要編譯器(即不使用C擴展的軟件包不需要編譯器),對吧? –

相關問題