問題タブ [python-packaging]

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 投票する
1 に答える
189 参照

python - Python パッケージが単体テスト用のクラスを検出しないのはなぜですか?

多くの頭のいい人にとってはつまらない質問かもしれませんが、私は単純な python パッケージの作成に苦労しています。パッケージのディレクトリ構造は次のとおりです。

setup.py は次のとおりです。

SOURCES.txt:

person_test.py で person.py をインポートできません。何が原因でしょうか?

解決

誰かが同じ問題に苦しんでいる場合、パッケージ名としてハイフンを使用しないことで修正されました。シンプルでうまくいきました!

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

python - 元の作成者ではない場合、パッケージの PyPI リリースを作成できますか?

私は、GitHub の特定のオープンソース プロジェクトの共同作業者です。最初にプロジェクトを作成した人は、新しい活動で忙しく、プルリクエストをレポなどにマージできるように、共同作業者のアクセス権を与えてくれました。

今度は、PyPI で新しいリリースを作成します。新しいリリースを行うことはできますか? それとも、パッケージの元の作成者だけがそれを行うことができますか? ここでガイドを見つけました: https://packaging.python.org/distributing/そして、より糸を介してリリースをテスト PyPI サイトにプッシュしようとしていますが、パッケージフォームをプッシュすることはできません。

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

python - コンパイル済みの Python ファイルを含むモジュールを Odoo にインストールすることは可能ですか?

コンパイル済みの Python ファイル (.pyc) を含むモジュールを Odoo にインストールしようとしています。

コンパイルされたということは、すべての .py ファイルが .pyc に変換されることを意味します

ここでの私の目標は、セキュリティ上の理由だけでコードを表示しないことです。

そこで、すべての .py ファイルを削除して、すべての .pyc を保持し、odoo にインストールしようとしました。残念ながら、私のモジュールはモジュール リストに表示されません。

これが可能であれば、ヒントを教えてください。または解決策や回避策を提案してください。

どうもありがとう。

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

python - setup.pyなしでパッケージをPyPIサーバーにアップロードするには?

私は自分のサーバーをセットアップし、サーバーに存在するすべてのパッケージ (正確にはPyPIそれら) を定期的にバックアップしています。ハードウェアの復旧または移行の場合に、それらを新しいサーバー.tar.gzにアップロードするにはどうすればよいですか? PyPI(すべてを再構築するのではなく、既存の.tar.gzファイルを使用するだけです)

サーバーを実行するためにlocalshopを使用していPyPIます。

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

python-2.7 - Python 2.7 の pwn パッケージをインストールできません

Python 2.7 の pwn パッケージをインストールしようとしたときに、capstone.dll. コマンドラインと PyCharm を使用してインストールしようとしましたが、同じエラーが表示されます。

インストールのログは次のとおりです。

インターネットで解決策を検索しましたが、成功しませんでした。誰もそれを解決する方法を知っていますか?

ありがとう!

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

python - Odoo アドオン (モジュール) のインストール方法

作成したモジュールを addons_path ディレクトリに手動でコピー アンド ペーストせずに Odoo アドオン (モジュール) をインストールする方法。

出来ますか?

可能な解決策を探しました

  1. pip を使用して Odoo アドオンをパッケージ化およびインストールする
  2. odoo-autodiscover の使用

上記のオプションをすでに試した人はいますか?最も簡単な方法はありますか?

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

python - Makefile を使用した「extra」パッケージ用の Python setuptools/distutils カスタム ビルド

前文: パッケージ配布には Python setuptools が使用されます。my_packageいくつかのパッケージを含む Python パッケージ ( と呼びましょう) がありextra_requireます。extra_requireすべてがpythonパッケージ自体であり、pipがすべてを正しく解決したため、すべてが機能します(パッケージのインストールとビルド、および要求された場合は追加機能) 。シンプルなpip install my_package魅力のように働いた。

セットアップ: さて、エクストラの 1 つ ( と呼びましょうextra1) として、Python 以外のライブラリのバイナリを呼び出す必要がありますX

モジュールX自体 (ソース コード) がmy_packageコードベースに追加され、ディストリビューションに含まれていましたmy_package。悲しいことに、利用するには、最初にターゲットマシンでバイナリにコンパイルする必要があります(C ++実装。このようなコンパイルは、インストールXのビルド段階で行われると想定しています)。さまざまなプラットフォームのコンパイル用に最適化されたライブラリにmy_packageがあるため、必要なのは、ビルド プロセスの実行時にライブラリのそれぞれのディレクトリで実行することだけです。MakefileXmakeXmy_package

質問 #1 : setuptools/distutils を使用して、パッケージのビルド プロセス中にターミナル コマンド (つまり、make私の場合)を実行する方法を教えてください。

質問 #2extra1 :インストール プロセス中に対応するコマンドが指定された場合にのみ、そのような端末コマンドが実行されるようにするにはどうすればよいですか?

例:

  1. 誰かが実行した場合pip install my_package、そのようなライブラリの追加コンパイルXは発生しません。
  2. 誰かが を実行した場合pip install my_package [extra1]、モジュールXをコンパイルする必要があるため、対応するバイナリが作成され、ターゲット マシンで使用できるようになります。
0 投票する
1 に答える
1187 参照

python - Python パッケージ内の Python 関数または変数のすべての使用を見つける方法

関数レベルでpythonパッケージの関数と変数の使用/原因をマッピングしようとしています。関数/変数が他の関数で使用されるモジュールがいくつかあり、次のような辞書を作成したいと思います。

私が参照している関数は、パッケージのモジュールで定義する必要があります。

これをどのように開始しますか?__dict__次のようにして、パッケージを反復処理し、パッケージで定義されている関数をテストできることを知っています。

しかしその後、現在の関数内で使用されている関数を見つける必要があります。これはどのように行うことができますか?このタイプの作業用にすでに開発されたものはありますか? プロファイリング ライブラリは、これと同様のことを行う必要があるかもしれないと思います。

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

python - 関数にデコレータを適用すると、モジュール __dict__ から削除されているように見えます

シミュレーション モデルの個別のコンポーネントを表すいくつかのモジュールで構成される python パッケージでいくつかの関数を定義しています。

シミュレーション モデルを実行するには、パッケージをインポートし、次のよう__name__にモジュールを反復処理することで関数を抽出します。__dict__

ただし、このコードをデバッグしているときに、あるはずの関数が含まれvars(module).items()ていないことに気付きました。これは、一部の関数にデコレータを適用した後に発生しましたlru_cacheが、これらの関数は正確には表示されていません。

Python パッケージのいくつかの関数にデコレータを適用した後、__dict__それらが定義されているモジュールに表示されないのはなぜですか?

デコレータを適用して関数を に表示させる方法はありvars(module).items()ますか?