查看我的/usr/local/lib/python.../dist-package目錄,我有.egg
目錄和.egg
文件。爲什麼easy_install會提取一些python的蛋而不是其他的?
爲什麼安裝程序會選擇額外的軟件包到.egg
目錄,但保留其他文件的.egg
擴展名?
查看我的/usr/local/lib/python.../dist-package目錄,我有.egg
目錄和.egg
文件。爲什麼easy_install會提取一些python的蛋而不是其他的?
爲什麼安裝程序會選擇額外的軟件包到.egg
目錄,但保留其他文件的.egg
擴展名?
如果軟件包只包含純Python代碼,它可以保持爲一個egg文件。 Python解釋器可以直接從egg中加載Python模塊。如果軟件包包含以C或其他數據編寫的模塊,則需要提取雞蛋以便可以訪問C模塊和/或數據。我相信這是包的默認行爲。較新版本的Python可能能夠從egg文件加載C模塊;我不確定那部分。
包的創建者還可以通過將zip_safe = False
傳送到setup()
的setup.py
來特別指示安裝者解壓縮包。
最後,執行安裝的人可以明確告訴easy_install通過傳遞-Z選項或通過在pydistutils.cfg中設置zip_ok = false
來解開雞蛋。
我無法解釋爲什麼有些雞蛋是壓縮(文件)和一些目錄,但我可以提供這樣的:如果你恨壓縮雞蛋(像我一樣)把這個在您的~/.pydistutils.cfg
的[easy_install]
部分:
zip_ok = false