*[Python] 頻出!! pipでUnicodeDecodeErrorが出たらすること

エラーはこんな感じ。

  File "C:\xxx\xxx\xxx\lib\site-packages\pip\compat\__init__.py", line 75, in console_to_str
    return s.decode('utf_8')
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x83 in position 30: invalid start byte

原因は、pip 9.0.xに存在するバグです。Python 3.6以降のWindows環境でよく起こります。多分ココに列挙されているIssueは全部同様の事象だと思います。

解決方法は、管理者権限で起動したコマンドプロンプトコレを実行することです。pip 10.xがリリースされればただ単純にpipをアップデートするだけで良くなるのですが、それまではこの特別対応が必要になります。

※蛇足1 ... 最近のpip 9.0.2と9.0.3の騒動、あとIssueの乱立具合を見ると、pip 10.xが安全にリリースされる未来が見えない。。。
※蛇足2 ... 久しぶりにはてなダイアリーに何かを書こうとすると、はてな記法が全然わからないことに絶望する。。。

WindowsへのPython一発導入(1〜2コマンドでインストール完了)

はいコレ流すだけ、powershell/cmdどっちでも可。でもこれ2コマンド。

cmd /S /C "SETX /M PATH "%PATH%;C:\Python27;C:\Python27\Scripts""
msiexec /qn /i https://www.python.org/ftp/python/2.7.11/python-2.7.11.msi ALLUSERS=1

環境変数の変更を反映するために、別のターミナルを立ち上げてから「python」と打ちましょう。

※追記:1コマンド版
http://stackoverflow.com/a/36661272

msiexec /qn /i https://www.python.org/ftp/python/2.7.11/python-2.7.11.msi ALLUSERS=1 ADDLOCAL=ALL

めっちゃクール。

仕事でずっとPython使ってます

Ant+IvyからのJythonコンボしかり、自分ツールのPython 2.7.xしかり、多人数開発のPython 3.4.xしかり、毎日必ずPythonを起動してます。しかも全部非WEBアプリケーション用途で。

楽しい、楽しい。

社内的にはまだPythonが主じゃないので、共通ツールはAtlassianスタックだけで後はみんな好きなIDEを使ってます。Eclipse+PyDevの一択だろうと思いきや、Visual StudioやPyCharm派しかいなさそうで少しまた世界が広がりました。

Pythonが書ければ英会話が不得意でもチームワークがちゃんと成り立つから、、、

楽しい。楽しい。

でも個人的な好みはまだ2.7.10。

Make jq command available on boot2docker (boot2dockerでjqコマンドを使えるようにする)

boot2docker ssh "tce-load -wi compiletc git autoconf automake libtool-dev wget"
boot2docker ssh "wget -O - http://ftp.gnu.org/gnu/bison/bison-3.0.2.tar.gz | tar zxvf -"
boot2docker ssh "cd bison-3.0.2 && ./configure && make && sudo make install"
boot2docker ssh "wget -O - http://www.geocities.jp/kosako3/oniguruma/archive/onig-5.9.5.tar.gz | tar zxvf -"
boot2docker ssh "cd onig-5.9.5 && ./configure && make && sudo make install && sudo ldconfig"
boot2docker ssh "git clone --depth=1 --single-branch https://github.com/stedolan/jq.git"
boot2docker ssh "cd jq && autoreconf -i && ./configure && make && sudo make install"

Magical JavaScript in Windows Command Prompt

mshta.exe "about:<hta:application id='hta'/><script>eval(hta.commandLine.match(/\/script(.+)/)[1].slice(37, -1));</script>" "alert("Hey man!");window.close();"
mshta.exe "about:<hta:application id='hta'/><script>eval(hta.commandLine.match(/\/script(.+)/)[1].slice(37, -1));</script>" "alert("^&^(^)[]{}^^=;!'+,`~\"");window.close();"

Ampersand - & -, brackes - ( and ) - and cap - ^ - needs to be escaped by cap - ^ - in Windows 7 at least.


http://support.microsoft.com/kb/830473

FizzBuzz written in Windows Batch

@echo off
setlocal enabledelayedexpansion

set LOOP=1000

for /L %%i in (3, 3, %LOOP%) do (
  set LINE%%i=Fizz
)
for /L %%i in (5, 5, %LOOP%) do (
  set LINE%%i=!LINE%%i!Buzz
)
for /L %%i in (1, 1, %LOOP%) do (
  echo !LINE%%i! | findstr zz > NUL && echo !LINE%%i! || echo %%i
)

endlocal

やるのかやらないのか

最近の流行語。

やるのかやらないのかを考えて(決断)、やるのであればどうやるかを考えて(検討)、何が捨てられるかを考えて(取捨選択)から、やる(問題解決)。

何をやるのかを考える(問題定義)のは無意識的に最初の方でやってるけど、たぶん意識的にやったほうが良さげ。

「何も捨てることができない人には 何も 変えることはできないだろう」をよく思い出す。