2018/04/27

heic ファイルを扱える Imagemgick をインストールする

@Ubuntu 16.04 LTS1

ImageMagick が heic フォーマット2に対応したようなので、ソースコードからコンパイルしてインストールしてみました。

以下によると、6.9.9 もしくは 7.0.7 以降が対象とのこと。

参考

ImageMagick-6.9.9-34差分 - yoyaのメモ

2018/04/26

doctest を unittest と統合して実行する (Python)

doctest とは

ここに検索で来られた方には不要かもしれませんが、説明の都合上、簡単に書いておきます。

doctest は、以下のような docstring 内の対話実行例が正しく実行できるか確認するモジュールです。 docstring 内だけでなく、テキストファイルの実行例を確認する事も可能です。

core.py
1
2
3
4
5
6
7
8
9
10
11
12
# -*- coding: utf-8 -*-
 
 
def times(a, b):
    """
    2つの入力を掛け算して出力
 
    >>> times(4, 9)
    35
    """
 
    return a * b
2018/04/25

[Python] setup.py に dependency_links を書いても "Could not find a version that satisfies the requirement" が出る場合の対処方法4種

2018/10/16 追記
Pip 18.1 以降は dependency_links を使わない方法が正式になりました。

dependency_links を使わないでレポジトリを明示的に指定する方法

Python で pip install 可能なパッケージを作成した際、 PyPI に登録してしまえば pip が適切に処理してくれるので簡単です。

しかし、内部用のライブラリの場合は明示的にリポジトリの場所を指定しなければなりません。 そのための機能として、setuptools.setup() には dependency_links という引数があります。

ところが、pip install しようとした場合、dependency_links は無視されてしまい、うまくいきません。 dependency_links は、基本的に python setup.py install の場合を想定しているようです。

ただ、pipsetup.py の上位ラッパー1のはず。 対処方法が無いはずはないと思って調べてみました。

2018/04/07

Python の with で複数ストリームを同時に扱う方法

2つのファイルを同時にオープンして、処理が終了したら同時にクローズするような処理1はよく行われると思うのですが、私は最近まで with をネストして書いていました。

が、Python 2.7 以降は以下のように書けるとのこと。 知らなかった2。。。

1
2
with open('a', 'r') as a, open('b', 'w') as b:
    do_something()

参考

How can I open multiple files using "with open" in Python? - Stack Overflow

  1. 例えば、解析対象ファイルと結果出力ファイルなど 
  2. 以前、調べた時は出来ないって書いてあった記憶が。古い情報を引っ張ってしまったのかもしれません。 
?