GitHubじゃ!Pythonじゃ!

GitHubからPython関係の優良リポジトリを探したかったのじゃー、でも英語は出来ないから日本語で読むのじゃー、英語社会世知辛いのじゃー

pantsbuild

pex – .pex(Python EXecutable)ファイルを生成するためのライブラリとツール

投稿日:

.pex(Python EXecutable)ファイルを生成するためのライブラリとツール

PEX

pexはvirtualenvの精神で実行可能なPython環境である.pex(Python EXecutable)ファイルを生成するためのライブラリです。 pexは、 PEP 441で概説されたアイデアを拡張したもので、Pythonアプリケーションをcp同じくらい簡単に配備しcp pexファイルには、複数のプラットフォーム固有のPythonディストリビューションが含まれていても、1つのpexファイルをLinuxとOS Xで移植することができます。

pexファイルは、 pexツールを使用して構築できます。 PantsBuck{py} gradleなどのビルドシステムでは、.pexファイルを直接作成することもできます。

pexの動作や動作についてはまだ分かりません。 この素早い稲妻の話を見てください: WTFはPEXですか?

pexはApache2ライセンスの下でライセンスされています。

インストール

pexをインストールするには、単純に

$ pip install pex

toxを使ってgitクローンでpexを構築することもできます:

$ tox -e py27-package
$ cp dist/pex ~/bin

dist/pex $PATHコピーできるpexバイナリが構築されます。 このアプローチの利点は、Python環境を可能な限り空に保ち、哲学的にはPEXの機能と一線を画している点です。

簡単な例

requestsflaskpsutilある環境でインタープリタを起動する:

$ pex requests flask 'psutil>2,<3'

あるいは、現在のvirtualenvをrequirements.txtでフリーズしてどこでも実行できます:

$ pex -r <(pip freeze) -o my_virtualenv.pex
$ deactivate
$ ./my_virtualenv.pex

実験のすばやい方法として、 flaskを含む環境でwebserver.pyを実行します。

$ pex flask -- webserver.py

一時的なpex環境でSphinxエントリーポイントを使ってSphinxを起動するsphinx:main

$ pex sphinx -e sphinx:main -- --help

pex console_scriptsエントリポイントを使用して、スタンドアロンのpexバイナリをpex.pexビルドします。

$ pex pex -c pex -o pex.pex

特定のインタプリタタイプを使用するpexファイルを構築することもできます:

$ pex pex -c pex --python=pypy -o pypy-pex.pex

ほとんどのpexオプションは互いによく構成されているので、上記のコマンドは混在してマッチすることができます。 オプションの完全なリストについては、 pex --help

あなたのワークフローにpexを統合する

もしあなたがtoxを使用しているなら、あなたのワークフローにpexを統合する簡単な方法は、あなたのtox.iniパッケージングテスト環境を追加することtox.ini

[testenv:package]
deps = pex
commands = pex . -o dist/app.pex

次に、 tox -e packageは、アプリケーションの再配置可能なコピーを生成し、ステージング環境または本番環境にコピーできます。

ドキュメンテーション

pex、.pexファイルの構築、および.pexファイルの動作の詳細については、 https: //pex.readthedocs.ioを参照してください

開発

pexはテストと開発の自動化のためにtoxを使います。 テストスイートを実行するには、単にtoxを呼び出します。

$ tox

あなたが毒素を持っていない場合は、毒素の腹部を生成することができます:

$ pex tox -c tox -o ~/bin/tox

貢献する

貢献するには、以下の手順に従ってください: http : //pantsbuild.org/howto_contribute.html







-pantsbuild

執筆者: