問題タブ [pkg-resources]

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.

0 投票する
3 に答える
12835 参照

python - なぜ「virtualenv」が「pkg_resources」を見つけられないのですか?

Ubuntu で virtualenv を使用して、ローカルの仮想 Python 環境をインストールしようとしています。シェルコマンドを実行すると:

インポートできないという例外がスローされますpkg_resources。しかし、Python シェルを開くとfrom pkg_resources import load_entry_point正常に動作します。参考までに、完全なスタック トレースを以下に示します。

ここで提案された解決策を試しましたhttps://stackoverflow.com/a/10538412/42897しかし、効果はありませんでした。

0 投票する
1 に答える
1552 参照

python - pkg_resources.DistributionNotFound:pyramid == 1.3a7

そのため、数日前、ピラミッドを使用してDjangoを起動し、スキルセットの外でWebマジックを実行しようとして、多くの重要なことを台無しにしてしまいました。しばらくの間、Pythonを実行することすらできませんでした。システム変数PYTHONHOMEを変更することで、これを修正することになりました。

今、私はpserveで問題に直面しています。pserve development.ini --reloadを実行すると、トレースバックが発生します。

何を探すべきかについての提案はありますか?私にはすべてを実行できる2人の友人がいるので、比較する必要があるものがあれば、それを実行できます。

ありがとうございました!

0 投票する
0 に答える
180 参照

python - pkg_resources.find_distributions( "/ dirpath with sdist zip file")

pkg_resources.find_distributions( "/ dirpath with sdist zip file")から配布情報を取得できないようです。

誰かが私に光を当てることができますか?

0 投票する
2 に答える
4627 参照

python - 卵の中からPythonの卵のファイルにアクセスする

質問は、それを行う方法について正確な指示を得ようとする試みです。完全な解決策ではないように思われる以前の試みはほとんどありませんでした:

パッケージ内のファイルを移動するソリューション

zipとして読み取るソリューション

get_distribution によるメタ情報へのアクセス

当面のタスクは、プログラムが実行されている卵に関する情報を読み取ることです。私が理解しているように、いくつかの方法があります:

  1. 卵の場所をハードコーディングし、それをzipアーカイブとして扱います - ファイルが別の場所に移動された場合に編集して再コンパイルする必要があるため、機能しますが、十分な柔軟性はありません

  2. 使用ResourceManager().resource_filename(__name__, filename)- これは、卵の中にあるがパッケージの中にはないファイルにアクセスできないという事実で制限されているようです。ファイル名の「../../EGG-INFO/PKG-INFO」のような表記は、KeyError を与えて機能しません。だからもったいない。

  3. distオブジェクトを使用dist = pkg_resources.get_distribution("dist_name")してから情報を取得しますが、ドキュメントからはディストリビューション名を指定する方法を理解できませんか? 見つからない。

だから、私はpkg_resources.get_distributionプラスの使用に関する正しい解決策を探しています。卵の中から任意のファイルを読み取るための完全な解決策が最終的にあればいいのにと思います。

ありがとう!

0 投票する
1 に答える
1554 参照

python - pkg_resourcesにresource_filenameを実装する方法は?

ディストリビュート0.6.35pkg_resourceが提供するパッケージをインポートするパッケージを作成しました。組み込みデータのパスを取得するためにインポートする必要があるため、インポートします。ただし、はpython3に組み込まれていないため、インストールする必要があります。これについて、2つの質問があります。pkg_resourceresource_filenamepkg_resource

  1. Python3がpkg_resource公式ディストリビューションで提供されていないのはなぜですか?pkg_resourceこれは、非推奨であるか、組み込みPython3の代替パッケージがあることを意味しますか?pkg_resource

  2. Python3にの代替パッケージがない場合、組み込みライブラリを使用しpkg_resourceて独自のバージョンを作成するにはどうすればよいresource_filenameですか?簡単ですか?

ありがとう!

0 投票する
1 に答える
2465 参照

python - python:実行時に追加の要件を確認する方法は?

メインアプリケーションには、ユーザーが有効にできる追加機能がいくつかあります。これらの機能は、独自のディレクトリにあります。これらの機能には、追加の依存関係が必要になる場合があります。requires.txtそれらをそこにファイルに入れることを検討しています。実行時に、機能が壊れるかどうかを人々に知らせたいと考えています。現在、次のようなことを検討しています。

これは、物事を行うための正しい、パイソン的な方法ですか? これは理にかなっていますか?

小さな更新:なぜそれほど複雑でtry: import ... except ImportError: ...、1つの回答で提案されているのと同じではないのですか:

  1. 私たちのプラグインには、たくさんの依存関係があるかもしれません。以下のような実際のコードを作成するのは非常に冗長です。
  2. 一部のプラグインでは、特定のバージョンのパッケージが必要になる場合があります。パッケージ固有のテストまたはpkg_resourcesとにかく使用する必要があるテスト。そのため、上記の私のアイデアでは pkg_resources を使用しています。
  3. 実行可能なプラグインの単体テストを実行したいと考えています。単体テストで ImportError を処理するのは良くありません。関数can_we_unit_test_this_plugin(plugin)があると、物事が簡単になります。

2 番目の更新:extra_requireではどうsetup.pyですか?

  1. 人々はそれらを頻繁にインストールするのを逃します。わかりました、悪い言い訳です。
  2. 私のビジョンは、個々の機能の個々のサブディレクトリで上記から直接setup.pyロードすることです。しかし、それは本当に次のステップです。extra_requirerequires.txt
0 投票する
1 に答える
1130 参照

python - Python:パッケージ内のファイルへの書き込み?

この一般的な構造を使用すると、次のようになります。

名前のリストを に保存するスクリプトがあるclient.logので、そのリストにアクセスしたり、モジュールを実行したりする必要があるたびに、そのリストを再初期化する必要はありません。でこの構造をセットアップする前は、ログを明示的なパスで更新してpkg_resourcesopen('.../data/client.log', 'w')ましたが、これはもう機能しません。

モジュール内のデータ ファイルを編集する方法はありますか? または、このリストを保存するより良い方法はありますか?

0 投票する
1 に答える
223 参照

python - 子プロセスとしての Python setuptools エントリポイントとサブアプリケーション

私は Windows で作業しており、エンド ユーザーに配布されるアプリケーションを開発しています。

私は、たくさんの python パッケージを含む setupttools ディストリビューションを 1 つ持っています。このディストリビューションは、コード内のさまざまな関数を指すいくつかの console_scripts エントリポイントを宣言します。

これらのエントリポイントの 1 つは、アップデータ アプリケーションになる予定です。現在、サブプロセスを使用して子プロセスとして起動し、python スクリプトへのフル パスを指定しています。

代わりに、生成された setuptools エントリポイント スタブ実行可能ファイルを起動するサブプロセスとして使用します。

次のような方法で、サブアプリケーションへのエントリポイントを取得できます。

これにより、そのためのpython関数が提供されます。この関数から、venv にある生成された setuptools スクリプト ラッパーに移動する方法はありますか?

助けてくれてありがとう。

0 投票する
1 に答える
165 参照

python - ソース管理された pip パッケージを他のパッケージの要件を満たすようにする方法

パッケージがリポジトリからインストールされるとpip freeze、パッケージ名/バージョンではなく、そのパッケージのリポジトリ パスが生成されます。例:

そのようなパッケージが別のアプリケーションによって必要とされた場合、それは認識されないようです。例:

このような問題をどのように回避する必要がありますか?