問題タブ [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 - 特定のeggディレクトリを強制的に解凍します
自分で作成したPyQtアプリケーションのeggディストリビューションがあり、スフィンクスで生成されたドキュメントが含まれています。アプリケーションからヘルプファイルを呼び出すと、QtWebKit.QWebViewウィンドウでsphinxindex.htmlが開きます。どうやら、index.htmlファイルだけがeggからOSのeggディレクトリに抽出されます(たとえば、Windowsでは[..] \ Application Data \ Python-Eggs \)。
これにより、css、イメージ、リンクが壊れます。これらの他のファイルは解凍されていないように見えるためです。それらはeggファイルには存在しますが、eggディレクトリには存在しません。
私はここで何かが欠けていますか?すべてのhtml、css、画像ファイルをすぐに強制的に解凍する方法はありますか?
python - setuptoolsテストはインポートエラーを隠します。より良い情報を得るには?
python setuptoolsでは、pythonsetup.pytestがtestsuiteを実行します。ただし、テストスイートでインポートエラーが発生した場合、取得するエラーメッセージは、テストクラスが欠落していることを示すAttributeErrorだけです。テストスイートを修正できるように、より詳細なエラーメッセージを取得する方法はありますか?
次の例で自分自身をよりよく説明します。pasterで新しく作成されたfooというパッケージがあるとします。次に、テストを追加します
ここで、mytest.pyに次のコードが含まれているとします。
これは機能します。ただし、存在しないモジュールをインポートしようとすると
これは私が得るエラーです
つまり、失敗したインポートへの参照はありません。
python - 「setup.py テスト」卵のインストール場所?
プロジェクトに必要なすべての卵がディレクトリに事前にダウンロードされており、setuptools がそのディレクトリからのみパッケージをインストールするようにしたいと考えています。
私setup.cfg
は持っています:
実行するpython setup.py develop
と、すべてのパッケージが正しく検出され、インストールされます。
テストのために、 で指定されている追加の要件がありますsetup.py
。
この卵も../../setup
ディレクトリにローカルに存在します。
私が実行するpython setup.py test
と、依存関係が表示され、卵が../../setup
うまく見つかります。ただし、卵は残りの卵のあるディレクトリではなく、現在のディレクトリにインストールされます。site-packages
コマンドラインとコマンドラインのinstall-dir
両方を指定しようとしましたが、どちらもコマンドでは機能しないようです。setup.cfg
tests
依存関係をセクションに追加することもできinstall_requires
ますが、インストールとテストに必要なものはできれば分けておきたいと思います。
依存関係をセクションに保持しながら、ディレクトリtests_require
にインストールするにはどうすればよいですか?site-packages
python - distutils/setuptools で拡張モジュールを構成する
サードパーティのライブラリと通信する、C で記述された複数の拡張モジュールを含む Python プロジェクトがあります。ただし、ユーザーの環境とオプションによっては、一部のモジュールをビルドしてはならず、一部のコンパイラ フラグを有効/無効にする必要があります。問題は、setup() を呼び出す前に拡張モジュールのリストを作成する必要があることです。理想的には、distutils.Command サブクラスを使用してユーザー オプションを処理したいと考えています。現在、いくつかのオプションがあります。
モジュールをビルドする前に「python setup.py configure」コマンドを実行する必要があり、情報を pickle ファイルに保存し、次にスクリプトを実行するときに拡張リストを生成するために使用します。これは、私のプロジェクトが現在どのように機能しているか、非常にばかげているようです。
オプションを sys.argv から手動でスクレイピングし、それらを使用してリストを作成します。最終的にはビルド前にいくつかのスクリプトを実行して設定を確認する必要があるため、これは長期的な解決策ではありません。
distutils から build_ext をサブクラス化し、run() メソッドの最初で構成を行い ((2) 経由で送信されたオプションも使用する可能性があります)、ビルドする前に self.distribution.ext_modules を直接変更します。ただし、 setup() が呼び出されたときに拡張モジュールのリストが修正されていると想定する可能性があるため、これにより setuptools が混乱する可能性があります。また、build_ext 以外のコマンドで setup() が呼び出された場合、拡張モジュールのリストが空であることも意味します。
これを行うための好ましい方法はありますか?
installation - アフィリエイト データ (id/ロゴ) をインストーラーに埋め込むソリューション
その場でアフィリエイトID/ロゴをWindowsインストーラー(setup.exe、ビデオコンバータープログラムのセットアップ、空想は何もない)に挿入するソリューション(おそらくサーバーベースのソリューション)について考えています。
私はこのようなプロセスを見ます:
1) ユーザーがアフィリエイト ID のリンクをクリックし、リンクがサーバーにダウンロード ファイルを要求し、システム オン ザ フライがアフィリエイトのロゴと ID をこのインストーラーに挿入します。これがオンザフライで数秒で実行できるとは想像できません。
2) これを行う 2 番目の方法として、たとえば 1 日 1 回、アフィリエイトのロゴと ID を含むセットアップ ファイルを自動的に作成し、それをサーバーに保存するスクリプト/プログラムを見ます。
これを行うための市場で利用可能なソリューションはありますか? それとも、これは単純な HEX 編集で実現できますか?
python - easy_install/setuptools のバージョンの確認
easy_installを使用するcouchappをインストールしようとしています-そして、easy_install/setuptoolsの特定のバージョンが必要であると非常に明確に述べています:0.6c6. 私の Mac には既に easy_install があるようですが、バージョンを確認するためのコマンドライン引数がありません。上から新しいバージョンをインストールするのではなく、最初にそれが必要かどうかを確認したいと思います。
ですから: 自分のマシンにインストールされている setuptools/easy_install のバージョンを確認する方法についての指針はありますか?
私は Python 開発者ではないので、これは簡単な質問だと思います。ただし、GoogleまたはSOFでは何も見つかりませんでした。
python - setuptoolsのインストール後にpkg_resourcesが見つかりません
Debian 5.0.3(64ビット)にpython2.6.4をコンパイルしてインストールしようとしています。デフォルトのPythonとしてDeb5.0に付属しているPython2.5.2を維持したいので、「makealtinstall」を使用してインストールしました。
これに続いて、コマンド「sudo sh setuptools-0.6c11-py2.6.egg --prefix = / usr/local」を使用してsetuptools0.6c11をインストールしました。ただし、python2.6から「pkg_resourcesをインポート」しようとするとインストールした後、「ImportError:pkg_resourcesという名前のモジュールがありません」と表示されません。pkg_resourcesがなければ、私はほとんど何もできません。
誰かがここで何がうまくいかないのか、何が欠けているのかを共有できますか?
python - setuptools 「これらのうち少なくとも 1 つ」の依存関係の指定
場合によっては、それぞれが共通の API を実装するさまざまなモジュールがあります (私の場合、古い pure-python elementtree
、cElementTree
、lxml.etree
および built-in xml.etree
)。これらの各オプションを試すために使用してモジュールを作成ElementTree
し、自分の好みの順序に従って存在する最初のオプションを取得できますが、setup.py
. 次のようなものを書きたいと思います。
これ、またはそのようなことは可能ですか?
python - Python アプリケーションの配布
ディレクトリ構造が次のような単純な python アプリケーションがあります。
- 事業/
- main.py
- config.py
- プラグイン/
- プラグイン1
- プラグイン2
- ...
Config.py は構成ファイルのみをロードし、それ自体には構成情報は含まれていません。
私は今このプログラムを配布したいと思っています。ユーザーが使用することが期待されるファイルは main.py であるため、1 つのファイルは明確に /usr/bin に入り、残りのファイルは /usr/share/project に入ります。
しかし、問題が 1 つあります。共有ディレクトリで config.py を探すように main.py に何らかの方法で指示する必要があります。しかし、それはsetuptools次第なので、共有ディレクトリが正確にどこにあるのか本当にわかりませんよね?
Python ベースのアプリケーションを配布する際のベスト プラクティスは何ですか?
python - パッケージの setup.py (setuptools) で定義されているバージョンを取得するにはどうすればよいですか?
setup.py
で定義されているバージョンをパッケージから取得するにはどうすればよいですか (--version
またはその他の目的で)?