問題タブ [setuptools]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Python デーモンのパッケージ化のベスト プラクティス
Python で作成したツールがあり、通常はデーモンとして実行する必要があります。このツールを配布用にパッケージ化するためのベスト プラクティスは何ですか?特に、設定ファイルとデーモンの実行可能ファイル/スクリプトをどのように処理する必要がありますか?
関連して、特定のプラットフォーム (つまり、Linux のinitスクリプト、Windows のサービス、OS Xのlaunchd ) に応じて起動時に実行するデーモンをセットアップするための一般的なツールはありますか?
python - setuptools パッケージから最上位ディレクトリを除外する
setuptools を使用して Python プロジェクトを tarball に入れようとしています。問題は、setuptools が、ソース ツリーが最初にセットアップされた方法を気に入らないように見えることです (私によるものではありません。追加する必要があります)。実際に配布したいものはすべて、setuptools のドキュメントで説明されているようなサブディレクトリではなく、最上位のディレクトリにあります。
ツリーにはtests
、リリースされたパッケージに含めたくないディレクトリ があります。ただし、 usingexclude_package_data
は実際には除外を行っていないようです。私が間違っていたことを解決したいと思います。
関連する部分で、私setup.py
はこのように見えます:
python - python-setuptoolsをインストールできません:./ configure:そのようなファイルまたはディレクトリはありません
この質問は、「sudoアクセスなしでPythonをインストールできない」に対する回答に関連しています。
Pythonモジュールをインストールするには、python-setuptoolsをインストールする必要があります。インストールパッケージを抽出しました。
設定時に次のエラーが発生します
プログラムのホームページで解決策が見つかりませんでした。
このエラーを解決するにはどうすればよいですか?
python - 関数として呼び出されたときに easy_install に追加の検索リンクを追加する正しい方法は何ですか?
多数のサーバーからいくつかの Python の卵をインストールするには、関数として easy_install を呼び出す必要があります。何をインストールし、どこから取得するかは、実行時に正確に決定されます。たとえば、どのサーバーを使用するかは、コンピューターの地理的な場所によって異なります。
単一のサーバーが常に利用可能であるとは保証できないため、スクリプトで多数のサーバーをチェックする必要があると判断されました。一部の場所では Web フィルタリングが禁止されているため、UNC パスを確認する必要があります。他の場所では、次の例のようにミックスを確認する必要があります。
find-links オプション (-f) を指定しない場合 (この場合、distutils.cfg からデフォルトを選択するだけ)、追加の find-links オプションを指定しようとすると、問題なく動作するようです。取得は次のとおりです。
誰かがこれを行う正しい方法を確認できますか? たとえば、引数に Windows または UNIX のスラッシュを使用しますか? 複数の URL を区切るために使用する必要のある文字は?
Windows32でsetuptools 0.6c9を使用しています
python - setuptoolsがまったく同じeggを削除してから再インストールすることがあるのはなぜですか?
同じエッグがすでに存在するコンピューターにエッグをインストールしようとしています。なぜ卵を取り除いてから再インストールするのですか?オプションを指定してスクリプトからeasy_installを呼び出しています。
easy_installコマンドの実行中に、これが観察されました。
これの原因は何ですか?なぜ卵を取り出して再インストールしたり、保存したりするのですか?自分のPCで何度か発生するのを見たことがありますが、動作を一貫して再現する方法がわかりません。
setuptools0.6c9を使用しています
python - インストールせずに卵としてパッケージ化されたPython拡張モジュールをロード可能にするにはどうすればよいですか?
私はビルド スクリプトを素晴らしい Waf ツールに基づいて作り直している最中です(以前から SCons を使用していましたが、あまりにも遅すぎます) 。
とにかく、次の状況に遭遇しましたが、解決策が見つかりません。
- 以前にビルドされたいくつかの卵ファイルに依存する製品があります。
- ビルド プロセスの一部としてPyInstallerを使用して製品をパッケージ化しようとしています。
- 最初に依存関係を構築します。
- 次に、PyInstaller を実行して、ビルドした卵に依存する製品をパッケージ化します。パッケージ化プロセスの一環として、これらの卵ファイルをロードできるようにするには、PyInstaller が必要です。
これは簡単に聞こえます: どうあるPYTHONPATH
べきかを考え出し、変数を正しく設定するコピーを作成し、以前に構成した環境を env 引数として渡してsys.environ
PyInstaller スクリプトを呼び出します。subprocess.Popen
問題は、PYTHONPATH
追加する卵が zipsafe としてパッケージ化された拡張モジュールである場合、設定だけでは十分ではないように思われることです。この場合、組み込みライブラリをインポートできないことがわかります。
卵を解凍すると (ディレクトリの名前を .egg に変更)、それ以上の設定なしで卵をインポートできますが、この場合はこれが必要なわけではありません。
次のようにして、卵をサブシェルからインポートすることもできます。
PYTHONPATH
インポートしたい卵を含むディレクトリに設定します(卵自体のパスではありません)- Python シェルをロードし
pkg_resources.require
、卵を見つけるために使用します。
これが完了すると、卵は通常どおりロードされます。繰り返しますが、これは実用的ではありません。なぜなら、これらの卵をオフからインポートする準備ができている方法で Python シェルを実行できる必要があるからです。
汚いオプションは、実際のターゲット スクリプトを呼び出す前に上記のアクションを実行するラッパー スクリプトを出力することですが、これは間違っているように思われます。これを行うためのより良い方法があるはずです。
python - Python setuptoolsを使用して、定義された卵のセットのエントリポイントをロードするにはどうすればよいですか?
setuptoolsのエントリポイント機能を使用したいと思います。
実行される卵のリストを厳密に制御したい場合がいくつかあります。そのため、一連のエントリポイントに寄与する拡張機能は次のとおりです。
- 卵の統合テスト。卵のさまざまな組み合わせで複数のテストスイートを実行します。
- 同じプログラムの2つの異なるインスタンスを実行するために、eggs / pluginsの単一のディレクトリをスキャンしますが、eggは異なります。
- 開発時間。1つ以上のeggを開発していて、通常の編集実行サイクルの一部としてプログラムを実行したいと考えています。
私はsetuptoolsのドキュメントを調べましたが、これが不可能であるとは言われていませんが、その方法を説明している何かを見逃したに違いありません。
デフォルトのシステム全体の検出とは異なる方法でプラグインをデプロイするための最良の方法は何ですか?
python - 1つのsetup.pyからの複数のプロジェクト?
私の現在のsetup.py(setuptoolsを使用)は2つのものをインストールします。1つはtvdb_api
(APIラッパー)で、もう1つは(tvnamer
コマンドラインスクリプト)です。
ユーザーができるように、2つを別々に利用できるようにしたいと思います。
..APIラッパーのみを取得する、または..
..tvnamer(および要件としてtvdb_api)をインストールする
setup.py
これは、2つの別々のスクリプトがなくても可能ですか?python setup.py upload
同じコマンドからの2つの別々のPyPiパッケージを使用できますか?
python - Python のエントリ ポイントについて説明しますか?
Pylons と Peak のページにある卵のエントリ ポイントに関するドキュメントを読みましたが、まだよくわかりません。誰か説明してくれませんか?