2012-11-27 134 views
0

我有一個python腳本「MAlice.py」(main),它依賴於其他幾個腳本,包括yacc.py和lex.py以及任何他們依次導入的腳本。有沒有辦法從使用makefile的python腳本生成可執行文件?

我沒有很多經驗編寫的makefile,我想知道我怎麼會產生所謂的「編譯」使用此代碼的可執行文件,這樣的人可以撥打:

make 
./compile "someTestFile.alice" 

我在Ubuntu工作。

回答

4

我認爲你正在尋找的是一種將python項目打包爲獨立可執行文件的方法。這不是一個編譯過程,而只是一個捆綁到便攜式環境中。這將包括你的python解釋器。

你可以看看linux或windows的pyinstaller。而py2app for osx(pyinstaller可以在osx上工作,也可以創建一個文件)

如果你所追求的是爲別人提供源碼包並且他們能夠運行構建命令,並且有一個名爲「compile」的可執行入口指針,那麼你想要的只是一個setuptools腳本。這將安裝所有聲明的依賴關係,並將創建您定義的任何命名入口點。

http://packages.python.org/an_example_pypi_project/setuptools.html

+0

其他工具包括Py2Exe適用於Windows和凍結Linux操作系統。 – tugs

+0

謝謝,這很好。 編輯:具體pyinstaller。 – Tagc

+0

很好用! @tugs:我認爲py2exe是過時的。 Pyinstaller現在更有能力。 – jdi

0

Python腳本未被編譯;他們被解釋。

#!/usr/bin/env python 

,使腳本可執行:

chmod a+x MAlice.py 

,那麼你可以簡單地運行它,這樣你可以通過添加此作爲第一行MAlice.py自己變成一個可執行的腳本:

./MAlice.py "someTestFile.alice" 
相關問題