Fatal Python error: PyThreadState_Get: no current thread

Mac OS 10.10上のAnaconda python2.7でSPAMS (SPArse Modeling Software) をインストールするとタイトルのエラーが出てpythonが終了する. 次のようにsetup.pyを書きなおしてインストールすると,とりあえず動いた.

if osname.startswith("macosx"):
    cc_flags = ['-fPIC', '-fopenmp','-m32']
    # link_flags = ['-m32', '-framework', 'Python']
    link_flags = ['-m32']
    libdirs = ['/anaconda/lib'] # 自分の環境のanacondaのパスにする

再びインストールするには,

>> rm -r build
>> python setup.py install

とすれば良い.

Time Machineのフルバックアップ

4年弱使用したMacBook Pro 13からMacBook Pro 13 retinaに移行した.

新たな気持ちで新しいMacは使いたいから,移行アシスタントなんて使わない」

という人がネット上に散見されるけど,「相当暇なのかな」と思う.

 

もちろん僕は移行アシスタントを使って,データの引き継ぎを行ったのだけど,なぜかハマってしまい,まる2日位かかってしまった(ほとんど待ってただけだけど).

 

やりたかったこと

  • MacではUSB外付けHDDを使ってTime Machineを使っていた
  • Macの初期セットアップ時に,その外付けHDDを接続し,移行アシスタントを使いたい

症状

  • 初期セットアップ時に,外付けHDDが転送元の候補として出てこない(「移行元を検索中」と出てから先に進めない)
  • 「電源+Command R」でリカバリーモードで起動から復元を試みるも,復元も過去のバックアップ(約1年前)からしか選べない(HDDは壊れていない?)

解決

MacにおけるTime Machineの不具合が原因だった.

以下の記事が参考になった.

10.9 Mavericksインストール時TimeMachineから移行できない。 | Apple サポートコミュニティ

日々兼ねて思いつくところをせいといたしおり申候: OS X (Mavericks)の完全バックアップが作成できない場合

 

 

以下の手順で,旧Macにおけるバックアップを行い,移行アシスタントを利用する.

com.apple.timemachine.plistを編集

/Library/Preferences/com.apple.timemachine.plistのExcludeByPathから以下の項目を削除する.

  • /Applications
  • /Library
  • /System
  • /bin
  • /private
  • /sbin
  • /usr 

com.apple.timemachine.plistは削除するだけでもリセットするという噂もあるが,僕の場合は直接編集しないと削除できなかった.

このplistはルート権限なので,直接は編集できない.

なので,一度どこかにコピーして,編集後,元の位置に戻すか,コマンドライン上で編集すれば良い.

 sudo vi /Library/Preferences/com.apple.timemachine.plist

 

Time Machineのバックアップを実行

再起動後,Time Machineを実行する.

かなり時間がかかる.

僕の場合は5時間ほどかかった(USB2.0).

再び移行アシスタント

外付けHDDを接続して,初期セットアップを行うと,なんの問題も無くデータが転送された.

所要時間は1時間半ほど(USB3.0).

まとめ

Time Machineでバックアップをとっているからと言って安心してはいけない

latexdiffでの改行コードによるエラー

latexdiffがエラーばっかり吐いているので,それの対処法.


いつの間にかtexの改行コードがLFからCRに変更してしまったらしく,

Missing characters near word 1352 character index: 8492-8497 Length: 4 Match: |The | (expected match marked above).

というようなエラーを大量に吐くようになってしまった.



改行コードを直したらすぐ治りました.
nkfだと,

nkf -Lu --overwrite hoge.tex

という感じで改行コードを変更することが出来る.

MacVimでメニューバーのメニューを消す

vim-latexを使っているせいか,MacVimのメニュー項目が長くなり,メニューバー右上のアイコンが省略されている場面が多々ある.
どうにかならねーかなー,と思ったらたまたま下の記事を見つけた.
【MacVim】メニューバーでアイコンが見えない! | blog.remora.cx
これに少し手を加えたときの備忘録.


まず,MacVimの標準のメニューを消すために,gvimrcに次を書く.

source $VIMRUNTIME/delmenu.vim


これだと,vim-latexのメニューが消えないので,変なことになってしまう.
そこで,vim-latexのマニュアルから下を参照して,
11.8 Menu Customization
さらに,gvimrcに下を加える.

let g:Tex_Menus=0
let g:Tex_PackagesMenu=0

以上で,メニューバーがすっきりした.


ちなみに,

set langmenu=none

とgvimrcに書けば,メニューが英語表記になる.