2011-04-06 82 views
5

我非常喜歡Python的「電池供電」理念,但現在我必須執行一項只有核心功能和其他我想逐一選擇的其他功能。獲取沒有(選擇)電池的Python

是否有可能下載只有選定模塊的Python?

+1

大多數核心語言功能都來自標準庫。你爲什麼想要忽略它們? – jathanism 2011-04-06 16:16:04

+0

如果沒有,很容易正常安裝,然後刪除所有不需要的庫。 (編輯@jathanism:請定義「核心語言功能」,因爲在我的書中根據定義不在庫中) – delnan 2011-04-06 16:16:36

+1

我必須製作一個小包,通過電子郵件發送或下載。我發現有一些文件夾/庫,我不使用(測試,文檔,TCL),需要幾個MB – Don 2011-04-06 16:23:56

回答

3

正常安裝python。打開python解釋器並導入一些你認爲不想要的東西。

import io, optparse, tarfile 

然後在它

>>> tarfile 
<module 'tarfile' from '/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/tarfile.py'> 

你可以只是去和刪除任何文件.py你不想在你的安裝模塊的str表示有它的路徑。

顯然這是很危險的,因爲你不知道Python模塊的內部依賴關係。

+0

目前尚不清楚OP是否意味着刪除* stdlib *模塊(tkinter除外)。 – 2011-04-06 16:39:45

1

AFAIK它不可能下載僅包含選定模塊的Python,但安裝完成後,您可以刪除所有不需要的東西(閱讀:庫)(永遠不會使用JSON?Gone!等)。

+0

我會嘗試。我認爲有一個更清潔的方式... – Don 2011-04-06 16:25:11

2

我看到有一些文件夾/庫,我不使用(測試,文檔,TCL),其需要幾個MB的

ActivePython不包括測試,並提供了install-時間選項排除文檔和PyWin32(儘管不適用於tcl/tkinter - 但您可以安全地在安裝後刪除它)。

或者,您可以使用PyInstaller爲您的應用程序創建自定義安裝程序。

+0

爲pyinstaller +1 – 2011-04-06 17:09:24

2

看看py2exe或類似的項目。他們基本上將一個Python腳本及其所有依賴包打包在一個可執行文件中。它看起來對你來說是正確的。

如果我還記得py2exe中還有一個獨立模塊遞歸分析Python模塊的依賴關係,但我現在找不到它。

0

你可以從TinyPy開始,並添加你所需要的。但是,TinyPy似乎沒有得到維護。