- # コマンド ライン駆動の CI フロントエンドおよび開発タスク自動化ツール
-
- 開発環境の作成
- 静的コード分析およびテスト ツールの実行
-
# パッケージの自動構築 -
tox で構築されたパッケージに対してテストを実行します -
パッケージがさまざまな Python バージョン/インタープリターに正常にインストールできるかどうかを確認します -
継続的インテグレーション (CI) とコマンド ライン ベースのテストを統合する -
プロジェクト ドキュメントを作成して展開する -
PyPI またはその他のプラットフォームにパッケージを公開する -
tox 公式ドキュメントには、40 を超える使用シナリオの例がリストされています。詳細なリストは、https://tox.readthedocs.io/en/latest/examples で参照できます。html
#2. tox を設定するにはどうすればよいですか?
その使用法について: インストールするには pip install tox を使用し、すべてのテスト環境を実行するには tox を使用し、指定した環境を実行するには tox -e envname を使用します。コマンド ライン パラメータも多数あり、tox -h で表示できます。
tox の動作はその設定ファイルによって制御されます。現在、3 つの設定ファイルをサポートしています:
- tox。 ini
-
setup.cfg
#毎 [ xxx ] とその下のコンテンツはセクションを形成し、各セクションの間には空行が入ります。
[tox]以下はグローバル設定項目で、envlist フィールドは tox が動作する環境を定義します。 [xxx] xxx 仮想環境の設定項目は以下のとおりです [xxx:yyy] は xxx の設定を継承しており、独自の設定項目が優先されます。
各仮想環境では、多くの設定項目が利用可能です。たとえば、一般的に使用されるものは次のとおりです: description (説明情報)、basepython (Python インタプリタのバージョン)、deps (環境の依存関係)、コマンド (コマンド) ステートメント) など。
tox は変数置換もサポートしており、いくつかの組み込み基本変数 (グローバルまたは仮想環境用) を提供します: {toxinidir}、{homedir}、{envname}、{envdir} など。 。
基本的な変数置換に加えて、次の高度な使用法もサポートしています:
- の値の効果を実現します。
-
コマンド ライン パラメータを渡します: {posargs:DEFAULTS} コマンド ライン パラメータがない場合は、DEFAULTS 値が使用されます。使用法: tox arg1 arg2 で 2 つのパラメータを渡すか、tox -- --opt1 arg1 で "--opt1 arg1" を全体として渡します。
-
インタラクティブ コンソール インジェクション: {tty:ON_VALUE:OFF_VALUE}。インタラクティブ シェル コンソールが開かれるときは最初の値が使用され、それ以外の場合は 2 番目の値が使用されます。 pytestで「--pdb」を使用した場合の例です。
[tox] envlist = {py27,py36}-django{15,16}
{py27,py36}-django{15,16} には、2 セットの中括弧のそれぞれに 2 つの値があります。実際には、これらを 4 つに組み合わせることができます。環境: py27-django15、py27-django16、py36-django15、py36-django16。
toxの設定項目、利用条件、意味、高度な使い方などについては、公式ドキュメント https://tox.readthedocs.io/en/latest/config で確認できます。 html
3. tox のプラグイン
tox は、強力な構成可能性に加えて、強力な拡張性も備えており、プラグイン可能です (プラグ可能)。豊富なプラグインエコシステムが登場しました。
pip search tox を使用すると、「tox-」で始まる多数のライブラリが表示されます。これらはすべて tox のプラグイン パッケージです。その中には、setuptools、pipenv、conda、travis、pytest、docker などのよく知られた名前があります。
tox は、他のユーザーがプラグインをカスタマイズして開発できるようにするために、多くの API インターフェイスを公開しました。
#ワークフローの主なリンクは次のとおりです:
- パッケージ化: オプション。setup.py ファイルを含むプロジェクトの場合、このステップでソース配布を生成できます。
-
仮想ファイルの作成環境: デフォルトで virtualenv を使用して仮想環境を作成し、構成項目の「deps」に従って必要な依存関係をインストールし、構成されたコマンド (コマンド) を実行します。 -
レポート: 実行結果を要約します。概要 -
tox 自体はテスト ツールとして位置付けられており、Python テストを自動化、標準化しようとします。そして合理化されました。ただし、unittest や pytest などのテスト フレームワークとは異なり、コード レベルを超えて機能し、プロジェクト レベルのツールです。したがって、その価値をより効果的に発揮するには、これらのテスト フレームワークと組み合わせるか、複数の自動タスク (pep8 の実行、コード カバレッジのテスト、ドキュメントの生成など) を同時に処理する必要があります。
その主な機能の 1 つは仮想環境の作成/管理ですが、これはテストを容易にするためにのみ使用されるため、Virtualenvwrapper、conda、pipenv などの仮想環境を管理できる他のツールと比較してください。 、詩にはいくつかの点で欠点があります。
tox は、強力な構成可能性と豊富なプラグインのサポートも備えており、アプリケーションに大きな可能性と自由度を与えます。したがって、多くの忠実な開発者が今でもこのツールを使用しており、たとえば、私が翻訳した一連の記事の著者もそのメンテナの 1 人です。
最後に、tox は設定ファイルをドライバーとして使用することを付け加えておきますが、設定ファイルは依然として非常に面倒なので、誰かが次のような nox を開発しました。 tox. 設定には Python ファイルを使用します。このプロジェクトも非常に人気があり、pipx、urllib3、Salt など、その傘下に投資する多くのプロジェクトが集まっています。このプロジェクトに興味がある場合は、https://nox.thea.codes/en/stable をチェックしてください。
以上がPython タスク自動化ツール tox チュートリアルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

Pythonは学習と使用が簡単ですが、Cはより強力ですが複雑です。 1。Python構文は簡潔で初心者に適しています。動的なタイピングと自動メモリ管理により、使いやすくなりますが、ランタイムエラーを引き起こす可能性があります。 2.Cは、高性能アプリケーションに適した低レベルの制御と高度な機能を提供しますが、学習しきい値が高く、手動メモリとタイプの安全管理が必要です。

PythonとCは、メモリ管理と制御に大きな違いがあります。 1。Pythonは、参照カウントとガベージコレクションに基づいて自動メモリ管理を使用し、プログラマーの作業を簡素化します。 2.Cには、メモリの手動管理が必要であり、より多くの制御を提供しますが、複雑さとエラーのリスクが増加します。どの言語を選択するかは、プロジェクトの要件とチームテクノロジースタックに基づいている必要があります。

科学コンピューティングにおけるPythonのアプリケーションには、データ分析、機械学習、数値シミュレーション、視覚化が含まれます。 1.numpyは、効率的な多次元配列と数学的関数を提供します。 2。ScipyはNumpy機能を拡張し、最適化と線形代数ツールを提供します。 3. Pandasは、データ処理と分析に使用されます。 4.matplotlibは、さまざまなグラフと視覚的な結果を生成するために使用されます。

PythonまたはCを選択するかどうかは、プロジェクトの要件に依存するかどうかは次のとおりです。1)Pythonは、簡潔な構文とリッチライブラリのため、迅速な発展、データサイエンス、スクリプトに適しています。 2)Cは、コンピレーションと手動メモリ管理のため、システムプログラミングやゲーム開発など、高性能および基礎となる制御を必要とするシナリオに適しています。

Pythonは、データサイエンスと機械学習で広く使用されており、主にそのシンプルさと強力なライブラリエコシステムに依存しています。 1)Pandasはデータ処理と分析に使用され、2)Numpyが効率的な数値計算を提供し、3)SCIKIT-LEARNは機械学習モデルの構築と最適化に使用されます。これらのライブラリは、Pythonをデータサイエンスと機械学習に理想的なツールにします。

Pythonを1日2時間学ぶだけで十分ですか?それはあなたの目標と学習方法に依存します。 1)明確な学習計画を策定し、2)適切な学習リソースと方法を選択します。3)実践的な実践とレビューとレビューと統合を練習および統合し、統合すると、この期間中にPythonの基本的な知識と高度な機能を徐々に習得できます。

Web開発におけるPythonの主要なアプリケーションには、DjangoおよびFlaskフレームワークの使用、API開発、データ分析と視覚化、機械学習とAI、およびパフォーマンスの最適化が含まれます。 1。DjangoandFlask Framework:Djangoは、複雑な用途の迅速な発展に適しており、Flaskは小規模または高度にカスタマイズされたプロジェクトに適しています。 2。API開発:フラスコまたはdjangorestFrameworkを使用して、Restfulapiを構築します。 3。データ分析と視覚化:Pythonを使用してデータを処理し、Webインターフェイスを介して表示します。 4。機械学習とAI:Pythonは、インテリジェントWebアプリケーションを構築するために使用されます。 5。パフォーマンスの最適化:非同期プログラミング、キャッシュ、コードを通じて最適化

Pythonは開発効率でCよりも優れていますが、Cは実行パフォーマンスが高くなっています。 1。Pythonの簡潔な構文とリッチライブラリは、開発効率を向上させます。 2.Cのコンピレーションタイプの特性とハードウェア制御により、実行パフォーマンスが向上します。選択を行うときは、プロジェクトのニーズに基づいて開発速度と実行効率を比較検討する必要があります。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境
