我有一個python腳本「MAlice.py」(main),它依賴於其他幾個腳本,包括yacc.py和lex.py以及任何他們依次導入的腳本。有沒有辦法從使用makefile的python腳本生成可執行文件?
我沒有很多經驗編寫的makefile,我想知道我怎麼會產生所謂的「編譯」使用此代碼的可執行文件,這樣的人可以撥打:
make
./compile "someTestFile.alice"
我在Ubuntu工作。
我有一個python腳本「MAlice.py」(main),它依賴於其他幾個腳本,包括yacc.py和lex.py以及任何他們依次導入的腳本。有沒有辦法從使用makefile的python腳本生成可執行文件?
我沒有很多經驗編寫的makefile,我想知道我怎麼會產生所謂的「編譯」使用此代碼的可執行文件,這樣的人可以撥打:
make
./compile "someTestFile.alice"
我在Ubuntu工作。
我認爲你正在尋找的是一種將python項目打包爲獨立可執行文件的方法。這不是一個編譯過程,而只是一個捆綁到便攜式環境中。這將包括你的python解釋器。
你可以看看linux或windows的pyinstaller。而py2app for osx(pyinstaller可以在osx上工作,也可以創建一個文件)
如果你所追求的是爲別人提供源碼包並且他們能夠運行構建命令,並且有一個名爲「compile」的可執行入口指針,那麼你想要的只是一個setuptools腳本。這將安裝所有聲明的依賴關係,並將創建您定義的任何命名入口點。
http://packages.python.org/an_example_pypi_project/setuptools.html
Python腳本未被編譯;他們被解釋。
#!/usr/bin/env python
,使腳本可執行:
chmod a+x MAlice.py
,那麼你可以簡單地運行它,這樣你可以通過添加此作爲第一行轉MAlice.py
自己變成一個可執行的腳本:
./MAlice.py "someTestFile.alice"
其他工具包括Py2Exe適用於Windows和凍結Linux操作系統。 – tugs
謝謝,這很好。 編輯:具體pyinstaller。 – Tagc
很好用! @tugs:我認爲py2exe是過時的。 Pyinstaller現在更有能力。 – jdi