1

まず現在の状況を説明します。

pythonカスタム (公開リリースされていないもの) と一般的な既知のパッケージに依存するいくつかのアプリケーションがあります。これらの依存関係はすべてインストール時にsystem pythonインストールされます。アプリケーションの配布は、gitソースごとに行われます。これらのコンピューターはすべて企業ネットワーク内に隠され、インターネットにアクセスできません。

このアプローチには、次の欠点があるため、少し面倒です。

  • ライブラリは各コンピューターに手動でインストールする必要があります:(

アプリケーションをより適切にデプロイするには? 私は最近virtualenv、解決策のように見えるものを見ましたが、まだ見ていません。

virtualenvアプリケーションのクリーンpython instanceを作成します。ソフトウェアのユーザーが簡単に起動できるようにするには、これをどのように展開すればよいですか?

起動中に作成するアプリケーション内に起動スクリプトが必要virtualenvですか?

次の問題は、コンピューターがインターネットにアクセスできないことです。パッケージのカスタムの場所 (ネットワーク共有?) を指定できることは知っていますが、それは正しいアプローチですか? それとも、圧縮されたパッケージもデプロイする必要がありますか?

別のアプローチは、Python インスタンス全体を出荷することでしょうか? virutalenvしたがって、ユーザーは?を起動する必要はありません。この python インスタンスでは、必要なすべてのパッケージが事前にインストールされます。

私たちのアプリは急速に成長しているため、リリース サイクルも短くなっています (2 週間)。経由でのデプロイgitは非常に簡単でした。ユーザーはstable、更新スクリプトを介してブランチからプルして、最新のリリースを取得できます。それはまだ可能でしょうか、それともより良い方法がありますか?

たくさんの質問があることを私は知っています。うまくいけば、誰かが私に答えたり、アドバイスをくれたりします。

4

1 に答える 1

2

pipから直接インストールするために使用できますgit

pip install -e git+http://192.168.1.1/git/packagename#egg=packagename

これは、使用するvirtualenv(使用する必要がある) かどうかに関係なく適用されます。

requirements.txtインストールするすべてのものを含むファイルを作成することもできます。

-e git+http://192.168.1.1/git/packagename#egg=packagename
-e git+http://192.168.1.1/git/packagename2#egg=packagename2

そして、これを行うだけです:

pip install -r requirements.txt

したがって、展開手順は、requirements.txtファイルを取得してから上記のコマンドを実行することで構成されます。追加virtualenvすると、簡単ではなく、きれいになります。そうしないvirtualenvと、システム全体の Python インストールが汚染されます。virtualenvそれぞれ独自の仮想 Python 環境で多くのアプリを実行するためのソリューションを提供することを目的としています。その環境に実際にインストールする方法とはあまり関係がありません。

于 2013-07-22T13:05:42.033 に答える