問題タブ [extension-modules]

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

python - _functools モジュール

このインポートはどのように機能し、どのファイルを使用しますか?

Python 2.5 の場合:

与えます:

C コードが読めない場合、(_functools インポート パーシャルから) パーシャルの意味を取得するにはどうすればよいですか?

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

python - C での Python 拡張型のインスタンスの作成

私はVectorC で Python 拡張モジュールとして簡単な実装を書いています。これはほとんど次のようになります。

VectorPython から呼び出す whileのインスタンスを作成するのは非常に簡単ですがVector、同じ拡張モジュールでインスタンスを作成する必要があります。ドキュメントを調べましたが、明確な答えが見つかりませんでした。これを行う最善の方法は何ですか?

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

c++ - Boost Python でのモジュール間の依存関係

次のように定義された 2 つの boost python モジュールがあるとします。モジュール A:

モジュール B:

モジュール B はモジュール A に依存しています (つまりSomeClass、モジュール A から使用します)。ここで、次の python スクリプトを実行します。

次のエラーが表示されます。

Python はモジュール間でクラスを自動的に変換しないようです。これを解決する方法を知っている人はいますか?

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

python - DLL の読み込みに失敗しました: %1 は有効な win32 アプリケーションではありません

そのため、バイナリ パッチを作成し、Python 内から適用できるようにする必要がある状況があります。素晴らしいアルゴリズムのように見え、python 拡張モジュールを持つbsdiffを見つけましたが、その拡張モジュールには Python 2.5 以降の Windows インストーラーがありません。

よし、C を真剣に書いたこともなかったし、Python 拡張モジュールを試したこともなかったので、自分でコンパイルすることにしました。MinGW32 での DLL ロード エラーに対して数時間頭を悩ませた後、プロジェクトのソースで提供されている setup.py を使用してコンパイルおよびビルドすることができました。ただし、結果の bsdiff モジュールをインポートすると、次のようになります。

ImportError: DLL load failed: %1 is not a valid Win32 application.

私は64ビットのpythonを実行しています。

何かアドバイス?

0 投票する
4 に答える
10572 参照

python - Python拡張モジュールのコンパイル時のリンクエラー

だから私はCでPython拡張モジュールを書いていて、64ビットのPythonビルド用にそれをコンパイルしようとしています。しばらくの間MinGWに頭をぶつけた後、少し調べてみたところ、MinGWは64ビット拡張モジュールを実行しないことがわかったので、Win7SDKとDISTUTILS_USE_SDKおよびMSSdkの両方を1に等しいVisualC ++2008Expressをセットアップしました。この質問への回答で。

私はついにDistutilsにコンパイラーを見つけさせましたが、拡張機能をコンパイルすると、次の出力が得られます。

これに3日間頭をぶつけた後、ちょっと壁にぶつかりました、何かアドバイスはありますか?

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

python - 現在実行中の Python インタープリターのバージョンを Python 拡張モジュール内から取得するにはどうすればよいですか?

この質問は、拡張モジュール (つまり、C で書かれたもの) 内から、拡張モジュールの実行に使用されている Python インタープリターのバージョンを検出する方法に関するものです。

背景として、Python 拡張モジュール内では、拡張がコンパイルされた Python のバージョンを取得するのは簡単です。標準の Python ヘッダーをインクルードするときにインクルードされる で定義されpatchlevel.hたマクロの 1 つを使用できますPython.h(例: マクロPY_VERSION)。

私の質問は、拡張モジュール内から、現在拡張機能を実行するために使用されているインタープリターのバージョンを実行時に取得できるかどうかです。たとえば、Python 2.7 に対してコンパイルされた拡張モジュールを実行するために Python 2.5 が誤って使用されている場合、拡張モジュール内から実行時にそれを検出できるようにしたいと考えています。具体的に言うと、拡張モジュールが Python 2.7 に対してコンパイルされていると仮定しましょう。

0 投票する
5 に答える
5142 参照

python - Python では、モジュールが C 拡張に由来するかどうかをどのように判断できますか?

インポートされたモジュールが純粋な Python モジュールではなくC 拡張からのものであるかどうかを Python から判断する正しいまたは最も堅牢な方法は何ですか? これは、たとえば、Python パッケージに純粋な Python 実装と C 実装の両方を含むモジュールがあり、実行時にどちらが使用されているかを確認できるようにする場合に便利です。

1 つの考えは、ファイル拡張子を調べることmodule.__file__ですが、すべてのファイル拡張子をチェックする必要があるかどうか、またこのアプローチが必ずしも最も信頼できるかどうかはわかりません。

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

custom-fields - VTiger 拡張モジュールは、アカウント モジュールのカスタム フィールドを作成します

アカウントモジュールに会社名を入力するときに会社データを取得するために使用される VTiger 6.4.0 拡張モジュールに取り組んでいます。

モジュールはほぼ完成しています。API からデータを取得し、JQuery を使用して入力フィールドに入力します。

しかし問題は、アカウント情報の既存のフィールドに関連しないデータがあることです。そのため、新しいカスタム フィールドをいくつか作成しようとしています。

拡張機能モジュール内からアカウント モジュールのカスタム フィールドを作成する方法がわかりません。

グーグルで調べて、stackoverflow に関するいくつかの投稿を見ました。

コードの次の部分を思いつきましたが、これは機能していないようです。

vtlib_handler module.postinstall で addKvkfield 関数が呼び出されています (これが拡張モジュール内でこれを行う正しい方法である場合、情報は見つかりませんでした)

vtlibhandler:

うまくいけば、誰かが私に正しい方向へのプッシュを与えることができます.

前もって感謝します :)