この記事は、公開アカウント「Reading the Core」(ID: AI_Discovery)から転載したものです。 新しいプログラマーが直面する最大の困難の 1 つは、環境の概念を理解することです。環境とは、プログラマーがコーディングを実行するシステムを指します。これは簡単そうに聞こえますが、プログラマーがキャリアを積むにつれて、「環境」を維持することがいかに難しいか徐々に理解するようになります。 これは主に、ライブラリ、IDE (統合開発環境)、さらには Python コードを更新してバージョン管理する必要があるためです。ライブラリを更新すると、コードの特定のセクションに問題が発生する場合があり、コードを再度修正する必要があります。複数のプロジェクトを同時に開発すると、依存関係の競合が発生します。あるコードが別のコードにエラーを引き起こすと、事態は複雑になります。 さらに、異なるオペレーティング システムを使用する同僚とプロジェクトを共有する場合や、Mac でビルドしたプロジェクトを別のオペレーティング システム上の運用サーバーに配信する場合は、コードを再構成する必要があります。 これらの問題を解決するために、プロジェクトと、プロジェクトが配置されている環境を分離する方法を「コンテナ」と呼びます。コンテナは、システム上の他のすべてとは別に、サポート環境が実行される場所です。コンテナに何を入れるかを定義すると、環境を再構築したり、同僚とプロジェクトを共有したりすることも簡単になります。 必要とする
Python サービス パッケージ server.py という名前の Flask サーバーを作成し、ファイルの内容を次のように設定するとします。
前述のように、コードの依存関係の記録を保持する必要があります。したがって、次の内容を含む要件に関する txt ファイルを作成します。
したがって、サービス パッケージの構造は次のようになります。
構造は非常に論理的です (ソース ファイルは別々のディレクトリに保存されます)。 Python プログラムを実行するには、Python インタープリターをインストールして実行する必要があります。次に、このプログラムをローカルで実行できます。同時に 15 個のプロジェクトを実行している場合、それらをコンテナー内で実行すると、他のプロジェクトとの競合を回避できます。 Dockerファイル Python コードを実行するには、コンテナを Docker イメージにパッケージ化してから実行する必要があります。操作は以下のとおりです。
Dockerfile 分析 Dockerfile は、Docker イメージ (myimage という名前) を組み立てるための指示を含むファイルです。
Dockerfile は行ごとにコンパイルされるため、ビルダーはレイヤーを生成し、それを前のイメージにオーバーレイします。ビルド コマンドの出力では、ステップとして実行された Dockerfile 命令を確認できます。
次に、ローカル イメージに保存されているイメージを見つけることができます。
開発プロセス中に、Python サービスのイメージを何度も再構築する必要がある場合があるため、できるだけ時間を節約する必要があります。 Docker と virtualenv は非常に似ていますが、異なります。 Virtualenv を使用すると、Python 依存関係を切り替えることができますが、ホスト オペレーティング システムのみで可能です。ただし、Docker を使用すると、任意のオペレーティング システム (Ubuntu、Debian、Alpine、Windows Server Core を含む) に Python をインストールして実行できます。 したがって、チームで作業していて、後で自分のスキルを証明したい場合は、Docker を使用してください。 docker を使用しない場合は、venv も良いですが、将来的には信頼できる方法ではありません。
画像ソース: unsplash この記事では、Python サービス パッケージを作成する方法を示し、そのプロセスを簡素化して、プログラマーがプロジェクトをより長く続けられるようにします。依存関係が変更されてもコードエラーが発生する可能性が低くなるためです。 |
<<: デジタル経済の最適な道を探り、クラウドについてテンセントと議論
>>: 今後は中小企業向けのSaaS製品やソリューションの提供に100億のリソースを投入します
今日、多くの企業は、ホスティング ニーズを満たす最善の方法としてマルチクラウドに注目しています。これ...
口コミは有料広告よりも効果的です。多くのデジタル広告主にとっては悲しいことかもしれないが、それはます...
3日前、BaiduのGreen Radish Algorithmが注目を集め、リンクの売買を阻止する...
中国、北京、2021 年 3 月 25 日 - 中国企業のデータ潜在力を解き放ち、デジタル変革を加速...
ビジネスをクラウドに移行することは良いことですが、企業は慎重に進めなければなりません。組織が複数のワ...
ソーシャル戦略は、B2B マーケティングのあらゆる側面に反映される必要があります。これまで、企業がソ...
1.12306 ウェブサイトは、オンライン列車チケット販売の待ち行列機能のキャンセルを否定9月20日...
米国の老舗データセンターであるRaksmartは、アメリカのクラスタサーバー、香港のクラスタサーバー...
SimpleNode は 2000 年から運営されており、一定の評判があります。小規模で洗練された ...
まずQQアカウントを盗み、次にアカウント所有者になりすましてQQの友人からお金を借り、さらには「身元...
Mahua Cloudは2007年に設立されました。現在、同社は主に安徽モバイルBGP回線のクラウド...
パフォーマンスマーケティング当社では、KPI と結果重視のあらゆるプロモーションを「モバイル インタ...
著者は今日電話を受けました。疲れた声から、彼女は山西省出身の90代後半だと分かりました。彼女は今年8...
ブログは今や衰退期を迎え、Weibo などの人気商品に徐々に取って代わられつつありますが、ブログ自体...
情報の普及と消費のスピードの速さにより、多くの企業が事業運営の見直しを迫られています。 IDC は、...