タグ

deploymentとPyPIに関するraimon49のブックマーク (2)

  • Wheel が Linux でもバイナリパッケージに対応しました - methaneのブログ

    PEP 0513 -- A Platform Tag for Portable Linux Built Distributions | Python.org 今まで WindowsMac では、ビルド済みのバイナリ形式の拡張モジュールを wheel にして配布することができました。 WindowsMacに比べてLinuxは環境の差が激しいのでバイナリ wheel に対応していなかったのですが、有名なディストリであればだいたい動くようにするためにどうすればいいか (glibc の古いAPIしか使わないなど) を勧告としてまとめて、十分実用的だと判断されたようです。(ただしこれは勧告であって、実際に pip や PyPI でこのルールに則っているかチェックされるわけではないようです) manylinux1 policy 性質上、何らかのライブラリのバインディングを提供する拡張モジュール

    Wheel が Linux でもバイナリパッケージに対応しました - methaneのブログ
  • wheelを使ってPythonのC拡張モジュールを本番デプロイする

    Pythonの話。wheelを使ってC拡張モジュールをデプロイする仕組みが上手く稼動したのでメモ。 依存パッケージの番デプロイ アプリケーションが依存しているPythonパッケージをどうやって番サーバーにデプロイするか。大抵はrequirements.txtにpip freezeで吐いた内容を保存しているだろう。とすると、番サーバーでpip install -r requirements.txtすれば良いんだが、githubが落ちてたりPyPIが落ちてたりすると、外部要因でデプロイスクリプトが途中でコケる、というダサい事態になる。それを避けるために事前にパッケージを固めて各サーバーに配布する仕組みが必要になる。C拡張モジュールを使いたいけど番サーバーでCコンパイラが自由に使えない、という時も同様で、事前にコンパイル済みの物を配布する必要がある。 pip bundleを使う場合 (d

    wheelを使ってPythonのC拡張モジュールを本番デプロイする
    raimon49
    raimon49 2013/12/23
    pip bundleに変わるpip wheel 保存しておいた依存パッケージのインストールはpip install --no-deps wheelhouse/*で
  • 1