2014年9月29日 星期一

vimdiff 讀取 stdin

$ vimdiff <(echo -e "aaa\nbbb\nccc") <(echo -e "aaa\nbbd\nccc")

使用 PyInstaller 將 Python 打包成執行檔

PyInstaller 同時支援 Windows, Linux, OS X,但是不同系統需要在其系統下進行打包



使用方式:

產生 hello.spec 檔
$ /usr/local/lib/python2.7/dist-packages/PyInstaller/makespec.py hello.py
 有套件相依的問題,需要修改 hello.spec 
$ vi hello.spec
a = Analysis(['hello.py'],
             pathex=['/tmp'],  # 如果有其他套件安裝位置,要在這裏指定
             hiddenimports=['MyModule'],  # 指定要包含進來的模組名稱
             hookspath=None)

依照 spec 檔打包
$ /usr/local/lib/python2.7/dist-packages/PyInstaller/build.py hello.spec



也可直接使用 pyinstaller 來進行操作
$ pyinstaller hello.py  # 會產生 spec 檔,並進行一次打包
$ pyinstaller hellp.spec




References :
Float's Blog: [Pyhotn] 使用 PyInstaller 打包 python 程式

Python get stdout encoding

import sys
sys.stdout.encoding




References :
How do you get the encoding of the terminal from within a python script? - Stack Overflow

2014年9月15日 星期一

Python json.dumps 時含有時間物件

TypeError: datetime.datetime(2014, 9, 16, 10, 24, 26, 755110) is not JSON serializable


class DateEncoder(json.JSONEncoder):
    def default(self, obj):
        if hasattr(obj, 'isoformat'):
            return obj.isoformat()
        else:
            return str(obj)
        return json.JSONEncoder.default(self, obj)


json.dumps(my_variable, cls=DateEncoder)




References :
python - Cannot serialize datetime as JSON from Cherrypy - Stack Overflow

2014年9月13日 星期六

git list remote branches

可以列出本地與遠端的 branch 對應
$ git branch -avv 

2014年9月9日 星期二

2014年9月6日 星期六

reinstall debian package with config files

$ cd /var/cache/apt/archives
# dpkg --install --force-confmiss mysql-server-5.5_5.5.38-0ubuntu0.14.04.1_amd64.deb




References :
Linux Wisdom: Reinstall deleted or damaged files in Debian/Ubuntu

2014年9月5日 星期五

git pull remote branch

$ git checkout -b < new_branch > origin/< new_branch >
fatal: git checkout: updating paths is incompatible with switching branches/forcing
Did you intend to checkout ‘origin/‘ which can not be resolved as commit?’

$ git pull




References :
Wetware » Pull A Git Branch from Remote