開発と文書ファイルの整理

開発と文書ファイルの整理

これまで、私はディレクトリの私のユーザー名でPythonバージョンをインストールすることに慣れていましたpyenv。私はDebianパッケージを使ってプロジェクトディレクトリをプロジェクトディレクトリに各プロジェクトを保存するために使用するカスタムPython環境と組み合わせています。pydev/home/pydevdirenvpyenvpip-tools

編集 - このリンクは開発環境の分離の基本を提供します。

https://pwal.ch/posts/2019-11-10-sane-python-environment-2020-part-1-isolation/

編集 - 上記のリンク作成者はここで独自のスタンドアロンPython環境ツールを開発しました(各プロジェクトにPythonバージョンをインストールしたくなかったため、Pyenvとpip-toolsを使用してPythonバージョンをenvライブラリに関連付けました)。

https://github.com/pwalch/lonesnake

私は開発、潜在的な特許公開、Linux Debianサーバーでの運用のためのPythonアプリケーションを作成しています。 FHS(ファイルシステム/srv階層標準)仕様/opt

https://tldp.org/LDP/Linux-Filesystem-Hierarchy/html/Linux-Filesystem-Hierarchy.html#opt

/opt/pythonapp01/code0000

/srv/pythonapp01/eod-data

現在開発中のアプリケーションはcsv形式の1日の終了データを使用します。このデータは開発中は更新されませんが、本番環境では毎晩更新されます。 Pythonコードは、ファイルとして保存するためにcsvを別のcsv形式に変換し、これらの変更されたcsvファイルをファイル形式に変換してHighcharts株価チャートを提供します。

私の質問は、Linuxファイルシステム階層でディレクトリを構成する方法です。開発用ファイルを保存し、可能な特許公開をサポートし、生​​成されたPythonアプリケーションをLinux Debianサーバー上の本番環境に適用する方法は?開発ファイルとドキュメントファイルはユーザーフォルダに配置する必要がありますか? eodデータが入って/srv/pythonapp01コードが入るべきですか/opt/pythonapp01/code0000?インストール環境pyenvも本番環境のアプリケーションディレクトリpip-toolsに移動する必要がありますか?/optアプリケーションが本番環境でシステムPythonを使用してはいけないことを読んでおり、本番環境でPythonアプリケーションを設定したことがないため、開発段階の早い段階で指示を得るのに役立ちます。

答え1

以下はいくつかの質問であり、これを3つにまとめました。

  1. Pythonのソースコードと開発ドキュメントをどのように設定しますか?

  2. Pythonアプリケーションをパッケージ化してLinuxにデプロイする方法は?

  3. 毎日生成されるデータはどこに保存されますか?

開発と文書ファイルの整理

安全な共有リモートストレージのために、GitLab、GitHub、または同様のGitホスティングサービスとともに、gitなどの最新バージョンの制御ツールであるソース/バージョン制御システムを使用してください。

そのため、プロジェクトやアプリケーションの名前を付けた特別なディレクトリであるリポジトリがあります。

リポジトリのドキュメントとソースコードの配列は、ビルドしている項目によって異なります。私はドキュメントや.mdファイルをディレクトリ.rstに保存するのが好きです。通常、プロジェクト/ストレージを説明するものがdocsあります。README.md

Kenneth Reitzは、次のようにPythonモジュールの構造例を作成しました。 https://github.com/navdeep-G/samplemod。初心者には完全に最小限の内容ではないため、理解できない部分はスキップできますが、良い出発点になります。 https://docs.python-guide.org/writing/struct/構造を説明します。

orをpyenv使用しているため、以下に説明するデプロイ方法がこれが機能するかどうかは100%確信できませんが、デプロイに実際に必要なのは、新しいPython環境にインストールする必要があるパッケージのリストだけです。インストールされているパッケージをすべて入力すると、しばらく作業環境を作成できます。 aにリダイレクトして保存します。venvvirtualenv,requirements.txtrequirements.txtpip freezerequirements.txt

Pythonアプリケーションをパッケージ化してデプロイする方法は?

うまく機能し、LinuxおよびUnix(Mac)ベースのシステムで「単一ファイル」を展開するのはpex非常に簡単です。https://pypi.org/project/pex/。短くて明確なチュートリアルがあります:https://medium.com/ovni/pex-python-executables-c0ea39cee7f1

pex,開始できる場所に加えて、さまざまなオプションがあります。https://packaging.python.org/en/latest/調べたいなら。

「pyenvとpip-toolsのインストール環境も本番環境の/ optの下のアプリケーションディレクトリに移動する必要がありますか?」という質問に具体的に答えるには、pexファイルが別々であるため、インストールする必要はありません。

毎日のデータはどこに保存されますか?

「eodデータを入れて/srv/pythonapp01コードに入れなければいけない/opt/pythonapp01/code0000?」と聞かれました。

/opt/bin/pythonapp01.pexデータの場所はよさそうだが、アプリケーションは/opt/bin。たとえば、Mac OSでインストールされているホームクラスパッケージは、広く使用されている別のインストール場所です。/opt/binPATH/opt/homebrew/bin. /usr/local/bin

1から365までの年ごとまたは日付別(階層カタログを使用)など、さまざまなスキームを使用して期限データを保存できます。たとえば、毎日の温度測定値を保存し、/mnt/data/2023/02/06/毎日新しい日次ディレクトリ、毎月新しい月次ディレクトリ、毎年新しい年間ディレクトリを作成します。

バックアップを維持してください!

これが役に立つことを願っています!

関連情報