Python
さまざまなコンピューターの USB ドライブから実行されるアプリケーションを作成しようとしています。ちょっとの間、クライアント コンピューターに Python がインストールされていると仮定して、それは脇に置いておきます。
cherrypy
私のアプリケーションはlocal web server
.
この問題に可能な限り透過的に対処するには、何が最善でしょうか?
技術者以外のユーザーが使用できる必要があり、依存関係を自分でインストールすることを心配する必要はありません。
現時点ではcherrypy source
、アプリに のコピーをパッケージ化しました。プログラムがまだインストールされていないことを検出した場合、プログラムは を実行しますsetup.py
が、--user flag
権限の問題を回避します。
これは良い練習とは思えません。
ビルドされたパッケージをアプリに含めることはできますか? 私は次のようなものでこれをやろうとしました:
/myapp/libs/cherrypy
cherrypy
からディレクトリをコピーしましたCherryPy archive
。これは事前にビルドされているため、おそらく機能しません。setup.py
また、代わりに実行する場所(ビルド ディレクトリを作成する) を試し、代わりにそれらのファイルをコピーしました。
/myapp/somefile.py
import myapp.libs.cherrypy as cherrypy
理論的には、これは機能するはずですが、そうではありません。(を使用して) サーバーを実行しようとすると、サーバーcherrpy.quickstart()
の 2 つのインスタンスが実行され、明らかに問題が発生し始めます。
だから、質問:まず、私はこれを完全に間違った方法で行っていますか?アプリでサードパーティ パッケージを利用できるようにするにはどうすればよいですか?