2017年3月28日 星期二

Python複製dict變數要注意

在python裡面將一個dict的變數得值直接複製到另外一個dict變數,不要使用:
  • dict2 = dict1

2017年3月27日 星期一

Python一行文:宣告一個dict變數

用下面指令迅速設定兩個dict變數d3與d1,裡面的值都是0
  • d3 = {k:0.0 for k in ['Ala','Cys','Tyr']}
  • d1 = {c:0 for c in 'ACDEFGHIKLMNPQRSTVWY'}
_EOF_

2017年3月26日 星期日

iPython清除變數空間

在iPython中,不想要跳離開程式的狀況下清除變數空間,用指令:
  1. reset_selective 變數名稱
  2. reset
第一個指令清除一個變數、第二個則是清除所有變數。
清除完之後再用who或是whos來看變數空間

_EOF_

2017年3月24日 星期五

2017年3月22日 星期三

CentOS的firefox安裝flash plugin

安裝完Cent OS 7之後,用firefox瀏覽含有flash的網頁都要求另外安裝可以看flash player。在終端機內輸入下面三個指令後,firefox就安裝好flash plugin:
  • sudo rpm -ivh http://linuxdownload.adobe.com/adobe-release/adobe-release-x86_64-1.0-1.noarch.rpm
  • sudo yum check-update
  • sudo yum install flash-plugin nspluginwrapper alsa-plugins-pulseaudio libcurl
安裝完畢後在firefox的網址列裡面輸入:
  • about:plugins
就可以看到安裝的flash plugin版本

2017年3月14日 星期二

升到MacOS Sierra後重新安裝Macports

一年前從Yosemite (10.10) 升級成El Capitan (10.11),重新安裝Macports
現在從El Capitan升級成MacOS Sierra (10.12),再重安裝Macports。以下是精簡過的流程,通通都用root來執行:
  1. cd /opt
  2. tar cpvf - local | pigz -p 4 > ElCapitan.local.tgz
  3. tar cpvf - X11 | pigz -p 4 > ElCapitan.X11.tgz
上述指令是備份整個Macports,若未來降級回El Capitan後直接解開就可以用
備份完成之後,用App Store升級整個系統,需要一段時間。重新開機後,打開終端機依序輸入下面指令安裝Xcode相關的程式:
  1. xcodebuild -license
  2. xcode-select --install
搞定Xcode之後,到MacPorts download頁面,下載安裝程式 MacPorts-2.4.1-10.12-Sierra.pkg 雙擊此套件依照說明重新安裝
安裝完畢後,依序執行下述指令重新安裝之前用macports安裝的所有套件(一樣需要用root執行):
  1. cd /opt
  2. port -qv installed > myports.txt
  3. port echo requested | cut -d ' ' -f 1 > requested.txt
  4. port -f uninstall installed
  5. rm -rf /opt/local/var/macports/build/*
  6. curl --location --remote-name https://github.com/macports/macports-contrib/raw/master/restore_ports/restore_ports.tcl
  7. chmod +x restore_ports.tcl
  8. ./restore_ports.tcl myports.txt
第6個指令粗體代表與之前的方式不太一樣
剩下就是等待所有的套件一一裝回去
升級成Sierra後的新的功能看《一篇講完升級macOS Sierra你該知道的10件事》

_EOF_

2017年3月13日 星期一

SOCKS over SSH on Mac

這邊介紹如何在Mac上使用SSH加密通道,透過遠端的機器瀏覽網頁。Windows請參考透過SSH Tunnels瀏覽BBS與網頁的做法。

首先,打開終端機(Terminal),輸入下面的指令:
  • ssh -NCD 55555 USER@REMOTE &
    • -N:不要執行任何指令,單純的建立SSH通道
    • -C:壓縮所有傳輸的資料
    • -D:指定近端使用的port,使用1025-65536之間的數值。某些數值會被瀏覽器擋掉(像是6666),這邊使用的是55555
    • USER:遠端機器的使用者名稱
    • REMOTE:遠端機器的IP地址
    • &:在背景執行
這樣就建立好了SSH通道了,再來就是設定瀏覽器的Proxy

2017年3月10日 星期五

fatal error: Python.h: No such file or directory

手動安裝Python寫的程式,編譯過程(執行 python setup.py build 或是 sudo python setup.py install)出現下面這種錯誤訊息
  • fatal error: Python.h: No such file or directory
這是因為系統的Python的header files沒有安裝。
如果是ubuntu或是debian等deb套件系統來的Linux,執行:

  • sudo apt-get install python-dev  # for python2.x installs
  • sudo apt-get install python3-dev  # for python3.x installs
若是fedora或是CentOS等用rpm套件系統的Linux,執行:
  • sudo dnf install python-devel    # for fedora
  • sudo yum install python-devel    # for CentOS
以上解法參考《fatal error: Python.h: No such file or directory》

_EOF_

2017年3月7日 星期二

Mac在照片中使用不同的圖庫

在Mac上處理iPhone的照片用的軟體是 Photos(照片),這個軟體會將拍下來的照片預設放在一個叫做Photos.library的資料夾中,簡稱 Library(圖庫)。若是有外接硬碟,那可以在外接硬碟上面另外產生一個新的圖庫。例如說:
  • 筆電上面的的圖庫拿來存放生活用照片
  • 外接硬碟的圖庫拿來存放工作用照片
由於 Photos 這個軟體一次只能夠處理一個圖庫,要在生活與工作的圖庫之間切換,依照下面的步驟:
  1. 關閉 Photos
  2. 按住 Option,雙擊 Photos 按鈕啟動此軟體
  3. 選擇想要使用的圖庫,指定 Photos 開啟此圖庫

參考文獻


_EOF_

2017年3月6日 星期一