linux打包python
㈠ 如何將python code 打包成linux系統下可執行
pyinstaller -w --onefile xx.py -n xx
不過我是mac下打的app包是這樣
UnicodeEncodeError是小問題 可以試試
頭加utf8識別
import sys
sys.reload()
sys.defaultencoding('utf8') 不知道拼錯沒
3.print u』中文』 這樣是可以的。會轉成unicode編碼 如果這樣也是有問題 那麼按照前兩個操作就可以了 是因為你文件的編碼不對
㈡ 將Python程序打包成linux可執行文件
1.安裝環境
首先我們要安裝pip,命令如下:
使用的工具是 pyinstaller ,打開終端輸入sudo pip install pyinstaller
2.打包程序
首先在打包之前檢查一下我們的py文件是否可以正常執行,確認無誤後進行打包 pyinstaller -F car_tkinter.py 或者 python3 -m PyInstaller -F main.py
3.執行文件
進入我們打包存放的文件夾,打開終端,執行語句 ./car_tkinter 或者 nohup ./car_tkinter> data.log &
㈢ linux下python和webpy怎麼搭建
1. 環境搭建。
環境搭建比較繁瑣,記得當時也是滿世界找資料,所以我直接打包好了所有的文件(apache(已經放進去python-wscgi) + web.py+apache所需要的vs2010運行庫+python+網站文件),直接解壓放上去就能用。有需要同學讓我傳一個或者網盤發一把就行。
如果在windows,最好在win7以上版本,我用win8。linux則ubuntu較好,建議12.04以上版本,不過linux我僅僅是開發用過,最終運行的伺服器是採用windows+apache:
安裝python2.7.10,可以去官方網站下載,注意要把python路徑加入系統環境變數。版本不能低於2.7.9,但不能用3.0以上,web.py支持不好。
安裝web.py, 官方網下載來裝就行,記得是解壓後進去:python setup.py install
安裝wingIDE,這個是最好用的python編輯器,可惜只能有幾天試用,我就是不停的試用進行開發,用它的好處就是代碼可以跳轉並且支持調試,需要調試直接將程序文件run起來,單步下段點都可以。
裝apache並配置python-wscgi,這個比較慘,花了好多時間去搜索才搞定,主要是windows上的python-wscgi不好難找。
為了節省以後的開發時間,我把配置好的apache給打包了,反正也是綠色的,新建網站只需要在伺服器上配置開機啟動apache,並在apache的config裡面修改下自己網站路徑就行。
2. 開發。
開發階段倒是沒什麼好說的,web.py官方有教程,不過這里我需要提幾點建議:
如果可以務必全站用utf-8編碼。
建立資料庫建議寫個生成腳本,比如createDataBase.py,有改動重新運行一遍,不要試用ide去建。
㈣ Linux下,Python項目包含多個模塊以及圖片包,跪問如何用pyinstaller將其打包在一起
python的模塊,pyinstall會自動編譯為位元組碼然後一起打包。
至於另外的圖片等資源文件,需要自行書寫打包配置文件spec。
先用pyinstaller 的 --onefile 選項自動生成一個spec文件,
然後修改這個spec文件案,如要加入圖片等附屬文件,
要加入到datas中,格式如下:
datas += [("軟體包內的相對路徑/file.name","/實際路徑/file.name","DATA")]
文件列表也可以用Tree生成。Tree("/實際路徑/file.name」, prefix = 「軟體包內的相對路徑」)
下面是一個spec文件的例子
a = Analysis(["/tmp/start.py"],
pathex=["/tmp"],
hiddenimports=[],
hookspath=None,
runtime_hooks=None
dict_tree = Tree("/tmp/pic", prefix = "pic")
a.datas += dict_tree
pyz = PYZ(a.pure)
exe = EXE(pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
name="test",
debug=False,
strip=None,
console=False )
㈤ 寫python腳本把上述步驟打包成安裝包,把安裝包通過批量部署工具(puppet等)安裝到windows/linux電腦。
用python調用系統命令嗎?
importos
os.system('netuseraddtest123456')
這樣?